@charset "UTF-8";
:root{--navy:#092b49;--navy-deep:#061f36;--blue:#0872b9;--gold:#efbd43;--ink:#182d40;--muted:#6d7e8c;--line:#e1e8ec;--bg:#f3f6f8;--white:#fff;--green:#14795b;--red:#b74040;--radius:18px;--shadow:0 8px 28px #17334d08;font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--blue);text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #e4b637;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #1580bf66;border-color:var(--blue)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{width:20px;height:20px;stroke-width:1.8;flex-shrink:0}input,select,textarea{width:100%;min-height:48px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:12px 14px;transition:border-color .15s,box-shadow .15s}textarea{min-height:108px;resize:vertical;line-height:1.5}label{display:block;font-size:13px;font-weight:650;line-height:1.5}label input,label select,label textarea{margin-top:7px;font-weight:400;font-size:15px}small{font-size:12px}.muted{color:var(--muted);line-height:1.6}.helper{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;text-transform:uppercase;color:var(--blue)}.gold{color:var(--gold)}.skip-link{position:fixed;left:12px;top:-90px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:11px;min-height:46px;padding:11px 18px;font-weight:650;font-size:13px;transition:transform .16s,background .16s,box-shadow .16s;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #092b4914}.btn:active:not(:disabled){transform:scale(.98)}.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{background:#124366}.btn.gold{background:var(--gold);color:var(--navy)}.btn.secondary{background:#fff;border-color:var(--line)}.btn.danger{color:var(--red);background:#fff4f3;border-color:#f2d6d3}.btn.large{min-height:52px;font-size:14px}.btn.full{width:100%}.btn.compact{min-height:40px;padding:8px 12px;font-size:12px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;border-radius:10px;background:transparent}.icon-btn:hover{background:#eaf0f5}.text-button{background:none;border:0;color:var(--blue);font-weight:600;min-height:44px;padding:8px 0;font-size:13px}.form-stack{display:grid;gap:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.password-field{display:flex;position:relative}.password-field input{padding-right:52px}.password-field .icon-btn{position:absolute;right:3px;top:9px;color:var(--muted)}.form-error{font-size:13px;line-height:1.5;color:var(--red);padding:10px 12px;background:#fff2f1;border-radius:8px}.notice{padding:13px 15px;background:#eef5fa;border:1px solid #dce9f1;border-radius:12px;font-size:13px;line-height:1.6;color:#355b74}.notice.warning{background:#fff8e8;border-color:#f1dfb2;color:#7e611e}.notice.success{background:#edf8f3;border-color:#cee9dc;color:var(--green)}.notice svg{vertical-align:middle;margin-right:5px;width:17px;height:17px}.connection-banner,.preview-banner{position:relative;text-align:center;background:#fff3d2;color:#69511b;padding:9px 15px;font-size:12px;font-weight:600;z-index:60}.preview-banner{background:#dceef9;color:#1d597e}.ambient{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:-1}.ambient span{position:absolute;width:40vw;height:40vw;border-radius:50%;background:radial-gradient(circle,#badbea45,transparent 65%);right:-15vw;top:-8vw;animation:drift 24s ease-in-out infinite alternate}.ambient span:nth-child(2){top:55%;left:5%;background:radial-gradient(circle,#f2d9971f,transparent 65%);animation-delay:-9s}.ambient span:nth-child(3){right:15%;top:70%;animation-delay:-15s}@keyframes drift{to{transform:translate(4vw,5vw) scale(1.15)}}
.login-screen{min-height:100svh;display:grid;grid-template-columns:1.06fr 1fr}.login-story{position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh;background:var(--navy-deep);padding:42px 8%}.login-story:before,.login-story:after{content:"";position:absolute;width:550px;height:550px;border:1px solid #86b6cc1c;transform:rotate(32deg);right:-210px;top:200px;pointer-events:none;animation:story-drift 22s ease-in-out infinite alternate}.login-story:after{width:400px;height:400px;top:290px;right:-125px;border-color:#efbd4326;animation-delay:-8s}@keyframes story-drift{to{transform:translateY(-30px) rotate(40deg)}}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-size:14px;font-weight:800;letter-spacing:1.8px}.brand small{display:block;letter-spacing:1.3px;font-size:8px;font-weight:600;margin-top:6px;color:var(--muted)}.brand-logo{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;width:63px;height:63px;overflow:hidden;border:1px solid var(--line)}.brand-logo img{width:57px;height:auto}.brand-light{color:#fff;z-index:1}.brand-light small{color:#90aabe}.brand-light .brand-logo{width:72px;height:72px}.brand-light .brand-logo img{width:65px}.story-copy{position:relative;z-index:1;padding:60px 0}.story-copy h1{font-size:clamp(36px,4vw,61px);line-height:1.14;font-weight:650;letter-spacing:-2px;margin:22px 0}.story-copy h1 em{font-style:normal;color:var(--gold)}.story-copy>p:not(.eyebrow){line-height:1.85;font-size:15px;color:#adc1d0}.story-rule{width:50px;height:3px;background:var(--gold);margin:32px 0}.story-foot{display:flex;gap:22px;flex-wrap:wrap;color:#c6d6e0;font-size:11px}.story-foot span{display:flex;align-items:center;gap:7px}.story-foot svg{color:#efbd43;width:17px;height:17px}.login-copyright{font-size:9px;letter-spacing:1.5px;font-weight:650;z-index:1;color:#a3b9c9}.login-copyright span{display:block;letter-spacing:0;font-weight:400;margin-top:8px;color:#7895aa}.login-panel{display:grid;place-items:center;padding:50px 30px}.login-box{width:100%;max-width:365px}.section-tag{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:10px;font-weight:750;letter-spacing:1.5px;margin-bottom:21px}.section-tag svg{width:17px;height:17px}.login-box h2{font-size:31px;font-weight:650;letter-spacing:-1px;margin-bottom:10px}.login-box>.muted{font-size:14px;margin-bottom:30px}.login-box .notice{margin-bottom:18px}.login-help{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:11px;margin-top:22px}.login-help svg{width:14px;height:14px}.setup-toggle{display:block;margin:12px auto;font-size:11px;color:var(--muted)}#setup-fields label+label{margin-top:18px}.mobile-login-logo{display:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#fff;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{gap:9px;font-size:12px;letter-spacing:1px}.sidebar .brand-logo{width:58px;height:58px}.sidebar-caption{font-size:9px;color:#96a4af;letter-spacing:1.8px;font-weight:700;margin:44px 14px 14px}.nav-item{display:flex;align-items:center;gap:13px;min-height:49px;padding:13px 15px;width:100%;border:0;background:none;color:#6a7c8b;font-size:13px;font-weight:550;border-radius:11px;text-align:left;margin-bottom:6px}.nav-item.active{background:var(--navy);color:#fff;box-shadow:0 6px 15px #092b4914}.nav-item.active svg{color:var(--gold)}.nav-item:not(.active):hover{background:#f1f5f7}.sidebar-bottom{margin-top:auto}.territory-note{display:flex;gap:11px;padding:18px 12px;margin-bottom:16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.territory-note svg{color:var(--blue)}.territory-note strong{display:block;margin-top:5px;color:var(--navy);font-size:13px}.version{display:block;font-size:9px;letter-spacing:1px;color:#95a4af;margin:20px 14px 0}.app-main{margin-left:230px}.topbar{height:82px;background:#ffffffd9;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:15}.desktop-breadcrumb{font-size:12px;color:var(--muted)}.desktop-breadcrumb span{margin:0 12px;color:#b5c2ca}.desktop-breadcrumb strong{color:var(--ink);font-weight:550}.topbar-right{display:flex;align-items:center;gap:18px}.topbar-right>.icon-btn{color:var(--muted)}.profile-button{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:0}.avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#e4eef5;color:#255e81;font-size:12px;font-weight:750;border:3px solid #fff;box-shadow:0 0 0 1px #dce5eb}.profile-text strong{display:block;font-size:12px;font-weight:650}.profile-text small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.mobile-wordmark,.mobile-nav{display:none}#content{max-width:1250px;margin:auto;padding:30px 36px 20px;min-height:calc(100svh - 130px);outline:none}.page{animation:enter .24s ease-out}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.page-heading h1{font-size:26px;font-weight:650;letter-spacing:-.8px}.page-heading p{font-size:13px;margin-top:7px}.date-badge{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;background:white;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.date-badge svg{width:15px;height:15px}.hero{padding:28px 30px;background:var(--navy);color:#fff;border-radius:var(--radius);position:relative;overflow:hidden;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero:after{content:"";width:230px;height:230px;border:1px solid #ffffff13;position:absolute;right:45px;top:-80px;transform:rotate(35deg);pointer-events:none;animation:story-drift 25s ease-in-out infinite alternate}.hero .eyebrow{color:#aac5d7;letter-spacing:1.5px}.hero h2{font-size:27px;font-weight:600;letter-spacing:-.7px;margin:10px 0}.hero p:not(.eyebrow){color:#afc7d7;font-size:12px;line-height:1.7;max-width:460px}.hero-icon{display:grid;place-items:center;height:72px;width:72px;flex-shrink:0;border-radius:18px;background:#ffffff0d;border:1px solid #ffffff16;color:var(--gold);z-index:1}.hero-icon svg{width:33px;height:33px;stroke-width:1.2}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.stat{background:#fff;padding:19px 20px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center}.stat-icon{width:40px;height:40px;border-radius:11px;background:#edf4f9;color:var(--blue);display:grid;place-items:center}.stat:nth-child(2) .stat-icon{background:#edf7f2;color:var(--green)}.stat:nth-child(3) .stat-icon{background:#fff8e7;color:#a68123}.stat strong{font-size:25px;font-weight:650;letter-spacing:-.8px}.stat strong small{font-size:12px;letter-spacing:0;color:#94a2ab;font-weight:450}.stat p{font-size:10px;color:var(--muted);margin-top:4px}.planner-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.planner-head h2,.section-heading{font-size:16px;font-weight:650;letter-spacing:-.3px}.calendar-toolbar{display:flex;align-items:center;gap:5px}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:22px}.day-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:80px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--muted);padding:9px 4px;font-size:10px}.day-cell strong{font-size:20px;color:var(--ink);font-weight:600}.day-cell.selected{background:var(--navy);border-color:var(--navy);color:#abc6d8}.day-cell.selected strong{color:#fff}.day-cell.today:not(.selected){border-color:var(--blue)}.day-dot{width:4px;height:4px;border-radius:50%;background:transparent}.day-dot.filled{background:var(--gold)}.plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 15px}.plan-toolbar h2{font-size:17px;font-weight:650}.plan-toolbar p{font-size:11px;margin-top:6px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:4px 7px;font-size:9px;font-weight:650;line-height:1.5;background:#eef3f6;color:#637887}.pill svg{width:12px;height:12px}.pill.active{color:var(--green);background:#eaf6ef}.pill.inactive{color:#866940;background:#f6f0e5}.pill.manual{color:#71638d;background:#f1edf7}.pill.blue{color:#2674a3;background:#eaf4fa}.pill.gold{color:#8b6d1b;background:#fff5d6}.pill.red{color:var(--red);background:#fff0ee}.rule-strip{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.6;padding:12px 15px;background:#eaf1f6;border:1px solid #dce6ee;border-radius:10px;color:#4b677e;margin-bottom:17px}.rule-strip svg{width:17px;height:17px;margin-top:1px}.rule-strip strong{color:var(--navy)}.visit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.visit-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px;box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column;min-width:0}.visit-card.done{border-color:#c5dfd2}.card-top{display:flex;align-items:flex-start;gap:11px}.visit-number{width:31px;height:31px;border-radius:9px;background:#edf3f7;display:grid;place-items:center;color:#628098;flex-shrink:0;font-size:10px;font-weight:750}.done .visit-number{background:#e8f5ee;color:var(--green)}.done .visit-number svg{width:16px;height:16px}.card-heading{flex:1;min-width:0}.card-heading h3{font-size:14px;font-weight:650;line-height:1.5;margin-bottom:6px;overflow-wrap:anywhere}.card-badges{display:flex;gap:5px;flex-wrap:wrap}.card-menu{width:32px;min-width:32px;min-height:44px;margin-top:-6px;margin-right:-9px;color:#94a4af}.card-info{font-size:11px;color:var(--muted);line-height:1.65;display:flex;align-items:flex-start;gap:8px;margin-top:14px;overflow-wrap:anywhere}.card-info svg{width:14px;height:14px;margin-top:2px;flex-shrink:0}.card-products{padding:11px 12px;background:#f6f8fa;border-radius:8px;margin-top:13px;color:#577085;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.card-products strong{font-size:9px;letter-spacing:.7px;font-weight:650;display:block;color:#98a7b2;margin-bottom:3px}.card-result{margin-top:12px;border-left:2px solid #d7e8df;padding-left:10px;font-size:11px;line-height:1.6;color:#506d60;white-space:pre-wrap;overflow-wrap:anywhere}.card-bottom{border-top:1px solid #eef2f4;margin-top:auto;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.card-bottom-wrap{margin-top:17px}.card-bottom .btn{font-size:11px}.card-bottom .text-button{font-size:11px;display:flex;gap:6px;align-items:center}.card-bottom .text-button svg{width:14px;height:14px}.empty-state{padding:45px 24px;text-align:center;border:1px dashed #cfdde6;border-radius:16px;background:#ffffff80}.empty-state>.empty-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#e9f0f5;color:#5c8aa7;margin:0 auto 18px}.empty-state h3{font-size:17px;font-weight:600;margin-bottom:10px}.empty-state p{font-size:12px;line-height:1.7;color:var(--muted);max-width:380px;margin:0 auto 20px}.draft-bar{position:sticky;bottom:18px;z-index:10;margin-top:20px;padding:14px 18px;background:var(--navy);color:#fff;box-shadow:0 8px 25px #092b4930;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.draft-bar strong{display:block;font-size:12px}.draft-bar small{display:block;font-size:10px;color:#b3ccdd;margin-top:5px}.loading-state{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;color:var(--muted);font-size:13px}.spinner{width:18px;height:18px;border:2px solid #dbe5ec;border-top-color:var(--blue);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-footer{padding:15px 36px 26px;max-width:1250px;margin:auto;display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#9aa8b2}.content-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px;box-shadow:var(--shadow);margin-bottom:20px}.content-panel h2{font-size:16px;margin-bottom:7px;font-weight:650}.content-panel>p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:20px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid .content-panel{margin:0}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.preference-row:last-child{border:0}.preference-row strong{font-size:12px}.preference-row p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.6}.switch{appearance:none;width:44px!important;height:26px;min-height:26px;padding:0;border:0;border-radius:20px;background:#cbd7e0;position:relative;cursor:pointer;flex-shrink:0}.switch:after{content:"";width:20px;height:20px;position:absolute;top:3px;left:3px;background:#fff;border-radius:50%;transition:transform .2s}.switch:checked{background:var(--blue)}.switch:checked:after{transform:translateX(18px)}.account-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.account-info dt{font-size:10px;color:var(--muted);margin-bottom:6px}.account-info dd{font-size:13px;font-weight:600;margin:0}.filters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:22px}.filters label{font-size:11px}.filters input,.filters select{font-size:12px;padding:10px;min-height:44px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{background:#f7f9fb;color:#7b8e9e;text-align:left;font-size:9px;letter-spacing:.7px;font-weight:650;padding:14px 16px}td{padding:14px 16px;border-top:1px solid #edf1f4}td strong{display:block;font-size:12px;font-weight:600}td small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.table-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 15px}.table-title h2{font-size:16px}.monitor-cards{display:none}.monitor-item{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:10px}.monitor-item-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.monitor-item h3{font-size:13px}.monitor-item p{font-size:11px;color:var(--muted);margin-top:6px}.monitor-numbers{display:flex;gap:15px;margin-top:14px;font-size:11px;color:var(--muted)}.monitor-numbers strong{color:var(--ink)}.detail-subtitle{font-size:12px;color:var(--muted);margin-bottom:18px}.history-list{list-style:none;margin:0;padding:0}.history-item{border-left:2px solid #e1e9ef;padding:0 0 20px 17px;margin-left:5px;position:relative}.history-item:before{content:"";width:7px;height:7px;border-radius:50%;background:#7ba4bf;position:absolute;left:-4.5px;top:4px}.history-item strong{font-size:12px}.history-item p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}.history-item time{font-size:10px;color:#94a4b0;display:block;margin-bottom:5px}.history-item .reason{color:#715e34;background:#fff9eb;padding:7px 9px;border-radius:6px}
dialog{border:0;border-radius:20px;padding:0;width:min(550px,calc(100vw - 32px));max-height:90svh;color:var(--ink);box-shadow:0 30px 100px #051b3940}dialog::backdrop{background:#031a326b;backdrop-filter:blur(3px)}dialog[open]{animation:enter .18s ease-out}.modal-top{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--line);padding:22px 24px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.modal-top h2{font-size:20px;letter-spacing:-.5px;margin-top:7px;font-weight:650}#modal-body{padding:23px 24px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:7px}.modal-actions .btn{flex:1}.segmented{display:flex;gap:5px;background:#eef3f6;border-radius:10px;padding:4px;margin-bottom:18px}.segmented button{border:0;min-height:40px;border-radius:7px;background:none;flex:1;font-size:12px;color:var(--muted);font-weight:600}.segmented button.active{background:#fff;box-shadow:0 1px 5px #092b4910;color:var(--navy)}.search-field{position:relative}.search-field>svg{position:absolute;top:15px;left:13px;width:18px;color:#8299aa}.search-field input{padding-left:40px}.search-results{margin-top:12px;max-height:265px;overflow:auto;border:1px solid var(--line);border-radius:10px}.search-result{display:block;text-align:left;width:100%;border:0;background:#fff;padding:13px 14px;border-bottom:1px solid #eaf0f4}.search-result:last-child{border:0}.search-result:hover{background:#f0f6fa}.search-result strong{font-size:12px;line-height:1.5}.search-result p{font-size:10px;color:var(--muted);line-height:1.6;margin:5px 0}.search-result .pill{font-size:8px}.selected-customer{padding:15px;border:1px solid #bfd6e5;background:#f1f7fb;border-radius:11px;margin:12px 0 18px}.selected-customer strong{font-size:13px}.selected-customer p{font-size:11px;color:var(--muted);line-height:1.6;margin:7px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-grid .day-cell{min-height:52px;padding:6px 3px}.calendar-grid .day-cell strong{font-size:15px}.calendar-grid .day-cell span{font-size:8px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;color:var(--muted);margin:17px 0 12px}.calendar-title{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600}.calendar-legend{display:flex;gap:15px;font-size:10px;color:var(--muted);margin-top:17px}.calendar-legend span{display:flex;gap:5px;align-items:center}.detail-visit{border:1px solid var(--line);border-radius:11px;padding:15px;margin-bottom:10px}.detail-visit h3{font-size:13px}.detail-visit p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:7px;white-space:pre-wrap;overflow-wrap:anywhere}.detail-visit .card-badges{margin-top:8px}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:14px 22px;border-radius:12px;box-shadow:0 6px 25px #092b4930;font-size:12px;line-height:1.6;max-width:90vw;z-index:100}.toast.error{background:#943f3f}.error-page{max-width:600px;margin:20vh auto;text-align:center}.error-page h1{margin-bottom:20px;font-size:26px}.no-motion *,.no-motion *:before,.no-motion *:after{animation:none!important;transition:none!important}
@media(min-width:1500px){.login-story{padding-left:13%;padding-right:13%}}
@media(max-width:1100px){.sidebar{width:205px;padding:24px 12px}.app-main{margin-left:205px}#content{padding:25px}.topbar{padding:0 25px}.filters{grid-template-columns:1fr 1fr}.filters>.btn{grid-column:span 2}.stat{padding:16px 12px;gap:10px}.stat-icon{width:33px;height:33px}.stat-icon svg{width:17px}.visit-list{gap:12px}.visit-card{padding:16px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.login-screen{display:block;background:var(--navy-deep);min-height:100svh;padding:30px 20px}.login-story{display:none}.login-panel{padding:27px 23px;background:#fff;border-radius:22px;max-width:430px;margin:0 auto;min-height:calc(100svh - 60px)}.login-box{max-width:100%}.mobile-login-logo{display:block;width:91px;height:auto;margin-bottom:26px}.login-box h2{font-size:28px}.login-box>.muted{font-size:13px;margin-bottom:25px}.section-tag{margin-bottom:13px;font-size:9px}.sidebar{display:none}.app-main{margin-left:0}.topbar{height:67px;padding:0 19px;background:#fff;backdrop-filter:none}.desktop-breadcrumb{display:none}.mobile-wordmark{display:flex;align-items:center;gap:10px}.mobile-wordmark img{width:44px;height:auto}.mobile-wordmark strong{font-size:16px;letter-spacing:-.5px;color:var(--navy)}.topbar-right{gap:9px}.profile-text{display:none}.avatar{width:35px;height:35px;font-size:10px}.topbar .icon-btn{min-width:40px;min-height:40px}.topbar .icon-btn svg{width:17px}#content{padding:23px 18px 16px;min-height:calc(100svh - 170px)}.page-heading{margin-bottom:18px;align-items:flex-start}.page-heading h1{font-size:23px;letter-spacing:-.6px}.page-heading p{font-size:11px;margin-top:6px}.date-badge{display:none}.hero{padding:22px 21px;border-radius:16px;margin-bottom:13px;gap:12px}.hero h2{font-size:25px;line-height:1.15;margin:10px 0}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero p:not(.eyebrow){font-size:11px;line-height:1.7}.hero-icon{height:49px;width:49px;border-radius:13px;align-self:flex-start;margin-top:6px}.hero-icon svg{width:24px;height:24px}.hero:after{right:-95px;top:-100px}.stats{gap:8px;margin-bottom:25px}.stat{padding:13px 10px;display:block;border-radius:12px;position:relative}.stat-icon{display:none}.stat strong{font-size:24px}.stat strong small{font-size:10px}.stat p{font-size:9px;line-height:1.5;margin-top:5px}.planner-head h2{font-size:15px}.planner-head{margin-bottom:10px}.calendar-toolbar .btn{min-height:38px;font-size:10px;padding:7px 10px}.calendar-toolbar .btn svg{width:14px;height:14px}.calendar-toolbar .icon-btn{min-width:32px;min-height:40px}.calendar-toolbar .icon-btn svg{width:17px}.week-strip{gap:5px;margin-bottom:19px}.day-cell{min-height:71px;border-radius:10px;font-size:9px;gap:6px}.day-cell strong{font-size:18px}.plan-toolbar{margin-top:21px}.plan-toolbar h2{font-size:16px}.plan-toolbar p{font-size:10px;line-height:1.6;max-width:200px}.plan-toolbar>.btn{font-size:10px;padding:10px 11px;min-height:42px;gap:5px}.plan-toolbar>.btn svg{width:15px;height:15px}.rule-strip{font-size:10px;padding:11px 12px;margin-bottom:13px}.visit-list{grid-template-columns:1fr;gap:12px}.visit-card{padding:17px;border-radius:14px}.card-heading h3{font-size:14px}.card-info{font-size:12px;margin-top:14px}.card-products{font-size:11px}.pill{font-size:9px}.card-bottom .btn{min-height:44px;font-size:11px}.card-bottom .text-button{font-size:11px}.card-result{font-size:12px}.draft-bar{bottom:85px;padding:13px;gap:9px}.draft-bar .btn{font-size:11px;padding:9px 12px}.app-footer{padding:16px 18px 104px;font-size:9px;line-height:1.6}.app-footer>span:first-child{max-width:210px}.mobile-nav{position:fixed;inset:auto 0 0;display:flex;justify-content:space-around;background:#fffffff5;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:6px 12px calc(7px + env(safe-area-inset-bottom));z-index:25}.mobile-nav button{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:53px;border:0;background:none;color:#7d909f;font-size:9px;font-weight:650}.mobile-nav button svg{width:20px;height:20px}.mobile-nav button.active{color:var(--navy)}.mobile-nav button.active svg{color:var(--blue);filter:drop-shadow(0 4px 7px #0872b930)}.mobile-nav button.active:after{content:"";height:3px;width:14px;border-radius:5px;background:var(--gold);position:absolute;bottom:5px}.content-panel{padding:19px}.settings-grid{gap:15px}.settings-grid .content-panel{margin-bottom:0}.content-panel h2{font-size:16px}.content-panel>p{font-size:11px}.filters{gap:10px}.filters label{font-size:10px}.filters input,.filters select{min-height:46px;font-size:12px;padding:10px 8px}.monitor-table{display:none}.monitor-cards{display:block}.table-title{margin-top:21px}.table-title h2{font-size:15px}.table-title .btn{font-size:10px;padding:10px}.table-wrap{border-radius:10px}.form-row{gap:10px}dialog{width:100%;max-width:100%;max-height:94svh;margin:auto 0 0;border-radius:22px 22px 0 0}.modal-top{padding:20px 21px 16px}.modal-top h2{font-size:20px}#modal-body{padding:20px 21px calc(24px + env(safe-area-inset-bottom))}.modal-actions{position:sticky;bottom:-25px;background:#fff;padding:15px 0 5px;z-index:2}label input,label select,label textarea{font-size:16px}.search-field input{font-size:16px}.search-results{max-height:34svh}.toast{bottom:88px;font-size:12px;min-width:250px;text-align:center}.empty-state{padding:35px 20px}.empty-state h3{font-size:16px}.empty-state p{font-size:12px}.calendar-grid .day-cell{min-height:52px}.calendar-toolbar .btn.today-button{display:none}}
@media(max-width:360px){#content{padding:19px 13px}.hero{padding:19px 17px}.hero-icon{display:none}.stat p{font-size:8px}.calendar-toolbar{gap:1px}.calendar-toolbar .btn{padding:8px}.plan-toolbar>.btn{padding:9px;font-size:9px}}
/* Keep layout containers independent; long customer data must wrap inside cards. */
.page,.stats,.stat,.stat>div,.planner-head,.plan-toolbar>div,.settings-grid>*{min-width:0}
.day-cell:disabled{background:#eaf0f3;color:#667c8b;opacity:.7;box-shadow:none}
.day-cell:disabled strong{color:#667c8b}
.plan-warning,.detail-progress{margin-bottom:16px}
.planning-notice{border:1px solid #ebc3bc;background:#fff5f2;border-radius:14px;padding:18px;margin-bottom:18px;color:#853e34}
.planning-notice.upcoming{border-color:#eddbab;background:#fff9e9;color:#795d20}
.planning-notice-head{display:flex;align-items:flex-start;gap:12px}
.planning-notice-head>svg{margin-top:2px}
.planning-notice h2{font-size:16px;line-height:1.5}
.planning-notice p{font-size:13px;line-height:1.6;margin-top:5px}
.planning-notice summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:650;min-height:44px;margin-top:10px;cursor:pointer;list-style:none}
.planning-notice summary::-webkit-details-marker{display:none}
.planning-notice summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.planning-notice ul{list-style:none;margin:6px 0 0;padding:0;max-height:360px;overflow:auto}
.planning-notice li{border-top:1px solid #dbbdae66;padding:12px 0;overflow-wrap:anywhere}
.planning-notice li strong{display:block;font-size:14px}
.planning-notice li span{font-size:12px;display:block;margin-top:4px}
.monitor-item.missing-plan{border-color:#e5b3a9;background:#fff8f6}
tr.missing-plan{background:#fff8f6}
.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.plan-rule{margin:0 0 16px;background:#edf4f8;border:1px solid #d9e6ee;border-radius:12px;color:#355b74}
.plan-rule summary{display:flex;align-items:center;gap:9px;min-height:46px;padding:11px 14px;cursor:pointer;font-size:12px;font-weight:600;list-style:none}
.plan-rule summary::-webkit-details-marker{display:none}
.plan-rule summary span{flex:1}
.plan-rule summary>svg{width:17px;height:17px}
.plan-rule[open] summary>svg:last-child{transform:rotate(180deg)}
.plan-rule summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:12px}
.plan-rule .rule-strip{border:0;border-top:1px solid #d9e6ee;border-radius:0;background:none;margin:0;padding:12px 14px}
.plan-rule .rule-strip>svg{display:none}
.account-info dd,.monitor-item h3,.search-result strong,.selected-customer strong{overflow-wrap:anywhere}
@media(max-width:760px){
  :root{--muted:#596f80}
  .topbar{height:68px;width:100%;padding:0 16px}
  .mobile-wordmark{gap:12px}
  .mobile-wordmark img{width:52px;height:50px;object-fit:contain;flex-shrink:0}
  .mobile-wordmark strong{font-size:17px}
  .topbar .icon-btn,.profile-button{min-width:44px;min-height:44px}
  .avatar{width:38px;height:38px;font-size:12px}
  #content{padding:20px 16px 12px;min-height:calc(100svh - 186px)}
  .page-heading{margin-bottom:16px}
  .page-heading h1{font-size:24px}
  .page-heading p{font-size:12px;margin-top:5px}
  .hero{padding:18px;border-radius:16px;margin-bottom:12px;gap:12px;background:linear-gradient(115deg,#092b49,#104767)}
  .hero h2{font-size:22px;line-height:1.2;margin:8px 0}
  .hero .eyebrow{font-size:9px;letter-spacing:1.2px}
  .hero p:not(.eyebrow){font-size:12px;line-height:1.5;color:#c4d8e5}
  .hero-icon{display:grid;width:42px;height:42px;border-radius:12px;margin-top:0;align-self:center}
  .hero-icon svg{width:24px;height:24px}
  .stats{gap:8px;margin-bottom:20px}
  .stat{padding:13px 10px;border-radius:13px;box-shadow:none}
  .stat strong{font-size:27px;line-height:1.1}
  .stat strong small{font-size:12px;color:var(--muted)}
  .stat p{font-size:11px;line-height:1.4;margin-top:7px}
  .stat:nth-child(2) strong{color:var(--green)}
  .stat:nth-child(3){background:#fffcf3;border-color:#eddfb9}
  .planner-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px}
  .planner-head h2{font-size:16px}
  .calendar-toolbar{gap:0}
  .calendar-toolbar .btn{min-height:44px;font-size:12px;padding:10px}
  .calendar-toolbar .icon-btn{min-width:44px;min-height:44px}
  .calendar-toolbar .icon-btn svg{width:19px;height:19px}
  .calendar-toolbar .btn svg{width:17px;height:17px}
  .week-strip{gap:4px;margin-bottom:16px;grid-template-columns:repeat(7,minmax(0,1fr))}
  .day-cell{min-width:0;min-height:70px;gap:5px;font-size:11px;padding:9px 2px}
  .day-cell strong{font-size:20px}
  .day-cell.selected{box-shadow:0 4px 9px #092b4917;color:#d2e3ed}
  .plan-toolbar{align-items:flex-start;flex-wrap:wrap;margin:20px 0 12px}
  .plan-toolbar h2{font-size:19px;line-height:1.3}
  .plan-toolbar p{font-size:12px;max-width:none;line-height:1.5}
  .plan-actions>.btn{width:100%;min-height:48px;font-size:14px;border-radius:12px;gap:8px;background:var(--gold);color:var(--navy)}
  .plan-actions>.btn svg{width:19px;height:19px}
  .plan-rule{margin-bottom:14px}
  .plan-rule summary{font-size:12px;line-height:1.5;padding:11px 12px}
  .rule-strip{font-size:12px;line-height:1.65}
  .visit-card{padding:17px;border-radius:16px}
  .card-heading h3{font-size:16px;line-height:1.4}
  .visit-number{width:33px;height:33px;font-size:12px}
  .card-menu{width:44px;min-width:44px;min-height:44px;margin-right:-7px}
  .pill,.search-result .pill{font-size:10px}
  .card-info,.card-products,.card-result{font-size:13px}
  .card-products strong{font-size:10px;color:#647b8d}
  .card-bottom{flex-wrap:wrap}
  .card-bottom .btn,.card-bottom .text-button{font-size:13px;min-height:44px}
  .card-bottom small{overflow-wrap:anywhere;max-width:100%}
  .empty-state{padding:24px 18px;border-style:solid;background:#fff}
  .empty-state>.empty-icon{width:48px;height:48px;margin-bottom:14px}
  .empty-state h3{font-size:18px}
  .empty-state p{font-size:13px;margin-bottom:18px}
  .empty-state>.btn{width:100%;min-height:48px;font-size:14px;background:var(--gold);color:var(--navy)}
  .draft-bar{bottom:calc(82px + env(safe-area-inset-bottom));padding:14px;flex-wrap:wrap}
  .draft-bar>div{flex:1;min-width:125px}
  .draft-bar strong{font-size:13px}
  .draft-bar small{font-size:12px;line-height:1.4}
  .draft-bar .btn{font-size:13px;min-height:46px;flex-grow:1}
  .app-footer{padding:12px 16px calc(98px + env(safe-area-inset-bottom));font-size:10px;flex-wrap:wrap}
  .app-footer>span:first-child{max-width:none}
  .mobile-nav{padding:7px 12px calc(9px + env(safe-area-inset-bottom));background:#fff}
  .mobile-nav button{position:relative;min-height:54px;font-size:11px;gap:4px;border-radius:12px}
  .mobile-nav button.active{background:#edf4f9}
  .mobile-nav button.active:after{bottom:0;width:20px}
  .mobile-nav button svg{width:22px;height:22px}
  .content-panel>p,.preference-row p{font-size:13px}
  .preference-row strong{font-size:14px}
  .filters label{font-size:12px}
  .filters input,.filters select{font-size:16px;min-width:0}
  .monitor-item h3{font-size:16px}
  .monitor-item p,.monitor-numbers{font-size:12px}
  .monitor-numbers{flex-wrap:wrap}
  .table-title{gap:10px}
  .table-title .btn{font-size:12px;min-height:44px}
  .segmented button{font-size:14px;min-height:44px}
  .search-result strong,.selected-customer strong{font-size:15px}
  .search-result p,.selected-customer p{font-size:12px}
  .modal-actions .btn{font-size:14px;min-height:48px}
  .calendar-grid{gap:3px}
  .calendar-grid .day-cell{min-height:56px}
  .calendar-grid .day-cell strong{font-size:17px}
  .calendar-grid .day-cell span{font-size:10px}
  .calendar-weekdays{font-size:12px}
}
@media(max-width:380px){
  #content{padding-left:13px;padding-right:13px}
  .hero{padding:16px;gap:8px}
  .hero h2{font-size:20px}
  .hero-icon{width:36px;height:40px}
  .stat{padding:12px 8px}
  .stat p{font-size:11px}
  .planner-head{grid-template-columns:1fr}
  .calendar-toolbar{justify-content:space-between}
  .calendar-toolbar .btn.today-button{display:inline-flex}
  .week-strip{gap:3px}
  .plan-toolbar>.btn{font-size:14px;padding:11px 14px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
