@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap");:root{--navy:#122d36;--ink:#18343e;--muted:#7a878b;--line:#e8eceb;--teal:#11786d;--pale:#eaf4f0;--canvas:#f6f8f7;--white:#fff;font-family:DM Sans,Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--canvas)}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a,button,input,select,textarea{outline-offset:3px}a:focus-visible,button:focus-visible{outline:2px solid var(--teal)}button{color:inherit}a svg,button svg{flex-shrink:0}a{color:inherit;text-decoration:none}input,select,textarea{color:var(--ink)}input[type=checkbox]{width:15px;height:15px;accent-color:var(--teal);cursor:pointer;margin:0}input[type=date]{font-size:12px;min-width:0;color-scheme:light}input::placeholder,textarea::placeholder{color:#98a2a4}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--navy);color:#bed0d1;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;padding:36px 18px 20px;z-index:10}.brand{display:flex;align-items:center;gap:11px;color:white;font-family:Manrope,sans-serif;font-weight:800;font-size:21px;line-height:1.1;letter-spacing:2.3px;padding:0 14px}.brand-sub{display:block;font-size:12px;letter-spacing:5.3px;margin-top:6px;font-weight:500}.brand-mark{color:#9edcc4;display:grid;place-items:center;width:40px;height:48px;flex-shrink:0}.workspace-label{font-size:9px;letter-spacing:1.8px;font-weight:650;color:#7d9a9d;margin:51px 16px 16px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;color:#adc3c5;padding:14px 15px;margin-bottom:5px;border-radius:7px;text-align:left;font-size:12px;font-weight:500;white-space:nowrap}.nav-item>svg:last-child:not(:first-child){margin-left:auto}.nav-item.active{background:#25434a;color:#fff;box-shadow:inset 3px 0 #8ccbb4}.nav-item:hover{background:#214149;color:white}.sidebar-note{border:1px solid #365057;border-radius:11px;margin:48px 14px 24px;padding:24px 17px;background:linear-gradient(140deg,#24454b55,transparent);position:relative;overflow:hidden}.sidebar-note:after{content:"";width:100px;height:100px;border:1px solid #8ccbb414;border-radius:50%;position:absolute;right:-50px;top:20px;box-shadow:0 0 0 22px #8ccbb406,0 0 0 44px #8ccbb404}.note-icon{color:#9bccb9;margin-bottom:17px}.sidebar-note strong{font-family:Manrope,sans-serif;color:#f2f7f5;line-height:1.65;font-weight:600;font-size:15px}.sidebar-note p{font-size:10px;line-height:1.8;color:#91adaf;margin:13px 0 23px}.sidebar-note>span{font-size:8px;letter-spacing:1.4px;color:#9ebeb7}.sidebar-bottom{margin-top:auto}.sidebar-bottom .nav-item{font-size:11px}.private-note{border-top:1px solid #345057;margin:15px 12px 0;padding-top:24px;display:flex;gap:9px;align-items:flex-start;color:#b6d1c8;font-size:10px}.private-note small{display:block;color:#7c9a9d;margin-top:5px;font-size:9px}.workspace{margin-left:240px;width:calc(100% - 240px)}.topbar{height:77px;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:#ffffffb0}.breadcrumb,.topbar{display:flex;align-items:center}.breadcrumb{gap:13px;color:#93a0a3;font-size:11px}.breadcrumb strong{color:#53666c;font-weight:500}.topbar-right{gap:25px}.today,.topbar-right{display:flex;align-items:center}.today{gap:8px;font-size:11px;color:#738387}.owner-avatar{border-radius:50%;background:#e8efeb;border:3px solid white;width:35px;height:35px;display:grid;place-items:center;font-size:10px;color:#577367;font-weight:700;box-shadow:0 0 0 1px #e7edeb}main{padding:39px 42px 0;max-width:1680px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:650;color:#7c8c8d;margin-bottom:12px}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:29px;letter-spacing:-1px;line-height:1.3;margin:0;font-weight:750;display:flex;align-items:center;gap:13px}.live-dot{height:7px;width:7px;border-radius:50%;background:#58a88a;box-shadow:0 0 0 5px #e7f1ec}.page-heading p{color:#839095;font-size:12px;line-height:1.7;margin:10px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;min-height:42px;padding:10px 17px;border-radius:6px;border:1px solid transparent;white-space:nowrap;transition:background .15s,transform .15s}.button:active:not(:disabled){transform:translateY(1px)}.primary{background:var(--teal);color:white;box-shadow:0 3px 4px #11786d0d}.primary:hover:not(:disabled){background:#0b655c}.outline{background:white;border-color:#dce4e1;color:#3b565b}.outline:hover:not(:disabled){background:#f3f8f5;border-color:#b8cec3}.subtle{background:transparent;color:#7a898c}.subtle:hover:not(:disabled){background:#edf4ef;color:var(--teal)}.compact{font-size:11px;min-height:33px;padding:7px 11px}.stats{display:grid;grid-template-columns:repeat(3,1fr) 1.25fr;gap:16px;margin-bottom:30px}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:19px 21px;min-width:0;position:relative}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:500;color:#74878c}.stat-top svg{color:#9aacad}.stat>strong{display:block;font-family:Manrope,sans-serif;font-weight:650;font-size:32px;letter-spacing:-1px;margin:12px 0 8px;line-height:1}.stat>small{font-size:9px;color:#9aa5a7;display:block;line-height:1.6}.next-stat{background:#edf4ef;border-color:#dce9e1}.next-stat .stat-top{color:#648275}.next-stat .stat-top svg{color:#799c8c}.stat>.next-date{font-size:17px;letter-spacing:-.5px;line-height:1.3;margin-top:20px;margin-bottom:11px}.next-stat>small{color:#89a092}.registry-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 4px 8px #18343e02}.list-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 22px;height:63px}.list-tabs{display:flex;gap:24px;height:100%}.tab{display:flex;align-items:center;gap:8px;border:0;border-bottom:2px solid transparent;background:none;font-size:12px;color:#8b9699;padding:0 0 2px}.tab.selected{color:var(--teal);border-color:var(--teal);font-weight:650}.tab span{display:inline-grid;place-items:center;min-width:21px;height:18px;padding:0 5px;border-radius:4px;font-size:9px;background:#f3f5f5;color:#929fa0}.tab.selected span{background:#e7f2ed;color:#398375}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:5px;width:31px;height:31px;color:#8c999c;flex-shrink:0}.icon-button:hover{background:#edf4f0;color:var(--teal)}.filter-panel{padding:21px 22px 18px;background:#fdfefe}.filter-first{display:flex;gap:14px}.search-field{display:flex;align-items:center;gap:10px;border:1px solid #e0e7e4;border-radius:6px;padding:0 12px;flex:1;background:white;color:#97a8ab;min-width:0}.search-field input{border:0;outline:0;font-size:11px;width:100%;height:41px;min-width:0;background:transparent}.search-field:focus-within{box-shadow:0 0 0 2px #11786d22;border-color:#7eb8a6}.search-field button{background:none;border:0;color:#829294;display:flex;padding:2px}.filter-select{display:flex;align-items:center;gap:13px;border:1px solid #e0e7e4;background:white;border-radius:6px;padding:0 10px 0 14px;max-width:45%}.filter-select>span{font-size:10px;color:#9ba7a9;white-space:nowrap}.filter-select select{height:40px;border:0;background:white;max-width:215px;font-size:11px;outline-offset:0;padding-right:7px}.filter-second{margin-top:13px;gap:12px;flex-wrap:wrap}.date-filter,.filter-second{display:flex;align-items:center}.date-filter{gap:9px}.filter-caption{display:flex;align-items:center;gap:6px;color:#8e9a9e;font-size:10px;margin-right:2px}.date-filter input{border:1px solid #e1e8e5;background:white;border-radius:5px;padding:6px 8px;height:32px;width:139px;font-size:11px}.date-arrow{color:#b0bfbc;font-size:14px}.status-filter{border:1px solid #e1e8e5;background:white;font-size:10px;border-radius:5px;padding:7px 10px;height:32px;min-width:130px;color:#72868a}.text-button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:var(--teal);font-size:10px;font-weight:500;padding:5px 3px}.text-button:hover{text-decoration:underline}.inline-error{color:#b34945;font-size:11px;padding-top:10px}.results-bar{padding:10px 22px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0f3f1;border-bottom:1px solid var(--line);gap:14px;min-height:54px;font-size:10px;color:#96a3a6}.results-bar strong{color:#536e72;font-weight:650}.sort-note{font-size:9px;color:#a2adae}.selection-count{color:var(--teal);font-weight:600}.list-actions{display:flex;align-items:center;gap:8px}.table-scroll{overflow:auto}.records-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap}.records-table thead{background:#f9fbfa}.records-table th{font-size:8px;font-weight:600;letter-spacing:.6px;color:#8b9d9f;padding:15px 13px}.records-table td{border-top:1px solid #f0f3f1;padding:18px 13px;height:84px}.records-table tr:hover td{background:#fcfefd}.records-table .row-selected td{background:#f2f8f4}.records-table .checkbox-cell{width:42px;padding-left:22px;padding-right:5px}.person-cell{display:flex;gap:11px;align-items:center}.person-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f0f4ee;color:#7f9580;font-size:10px;font-weight:650;flex-shrink:0}.person-name{background:none;border:0;padding:0;font-weight:600;font-size:12px;color:#314f56;text-align:left}.person-name:hover{color:var(--teal);text-decoration:underline}.person-phone{display:block;font-size:9px;color:#96a3a6;margin-top:5px}.company-label{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.type-name{color:#567077;font-size:10px}.email-cell{display:block;color:#9ba9ab;font-size:9px;margin-top:5px}.date-cell{display:flex;align-items:flex-start;gap:7px;color:#698187;font-size:10px}.date-cell>svg{color:#96aba9;margin-top:1px}.date-cell small{display:block;color:#96a5a8;margin-top:4px;font-size:9px}.badge{border-radius:5px;padding:5px 7px;font-size:8px;font-weight:550;display:inline-flex;align-items:center;gap:5px}.badge i{display:inline-block;height:4px;width:4px;border-radius:50%;background:currentColor}.pending{background:#faf3e7;color:#b59448}.confirmed{background:#eaf5ef;color:#43876d}.done{background:#edf2f8;color:#6a83a5}.cancelled{background:#fbefee;color:#b77c77}.records-table td:last-child{padding-right:20px}.table-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);padding:15px 22px;font-size:9px;color:#9ba8aa;background:#fcfdfc}.table-footer>span:first-child{display:flex;gap:6px;align-items:center}.table-footer svg{color:#94b1a2}.empty-state{min-height:308px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.empty-illustration{background:#eff5f0;border-radius:16px;border:1px solid #e0eae3;box-shadow:0 5px 0 #f6f9f6;width:68px;height:71px;display:grid;place-items:center;color:#719785;position:relative;margin-bottom:5px}.empty-illustration>span{position:absolute;right:-7px;bottom:-4px;background:var(--teal);color:white;border:3px solid white;width:25px;height:25px;display:grid;place-items:center;border-radius:50%}.empty-state h2{font-size:17px;font-weight:650;letter-spacing:-.3px;margin:21px 0 8px}.empty-state p{max-width:370px;font-size:11px;color:#91a0a3;line-height:1.9;margin:0 0 21px}.empty-state .button{font-size:11px;min-height:37px}.empty-steps{gap:13px;margin-top:29px;font-size:9px;color:#99aaa9}.empty-steps,.empty-steps span{display:flex;align-items:center}.empty-steps span{gap:6px}.empty-steps b{font-size:8px;background:#f3f6f3;border:1px solid #e7eeea;border-radius:50%;width:16px;height:16px;display:grid;place-items:center;font-weight:500;color:#849a90}.empty-steps>svg{color:#c6d2cd}.error-state>svg{color:#bc8a6e}.page-footer{display:flex;justify-content:space-between;gap:15px;font-size:8px;color:#a8b3b2;padding:25px 1px;letter-spacing:.2px}.page-footer i{display:inline-block;width:3px;height:3px;background:#b9c6c1;border-radius:50%;vertical-align:middle;margin:0 9px}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:22px}.group-card{border:1px solid var(--line);border-radius:8px;padding:19px;position:relative}.group-symbol{color:#5e9581;background:#edf5f0;border-radius:8px;padding:8px;display:inline-flex}.group-count{float:right;font-size:9px;color:#9baaab;padding-top:12px}.group-card h3{font-size:13px;line-height:1.7;min-height:44px;margin:15px 0 7px}.group-card>p{display:flex;gap:6px;font-size:10px;color:#899fa0;line-height:1.8}.group-people{display:flex;margin:18px 0}.group-people>button,.group-people>span{background:#eef3ef;border:2px solid white;border-radius:50%;height:28px;width:28px;display:grid;place-items:center;font-size:8px;font-weight:600;color:#7a9688;margin-left:-4px}.group-actions{border-top:1px solid var(--line);padding-top:10px;justify-content:space-between}.group-actions,.toast{display:flex;align-items:center}.toast{position:fixed;bottom:25px;left:calc(50% + 120px);transform:translateX(-50%);background:#173f35;color:white;gap:11px;padding:15px 18px;border-radius:8px;font-size:12px;box-shadow:0 5px 20px #122d3622;z-index:50;max-width:90vw}.toast>svg{color:#a2d9ba}.toast>button{background:none;border:0;color:#aac9bb;margin-left:20px;display:flex}.spin{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(1turn)}}dialog{border:1px solid #dfe7e2;padding:0;color:var(--ink);border-radius:13px;box-shadow:0 25px 100px #122d3633;max-height:92vh}dialog::backdrop{background:#0a202866;backdrop-filter:blur(3px)}.form-dialog{width:590px;max-width:95vw}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:28px 30px 22px;border-bottom:1px solid var(--line);gap:14px}.dialog-heading h2{font-size:22px;letter-spacing:-.8px;margin:0;font-weight:700}.dialog-heading p{font-size:11px;color:#8a999d;margin:9px 0 0}.dialog-heading .eyebrow{margin-bottom:8px}.form-body{padding:23px 30px}.section-label{font-size:9px;letter-spacing:1.1px;color:#8ea09d;display:flex;align-items:center;gap:7px;margin-bottom:19px}.training-label{margin-top:26px;padding-top:23px;border-top:1px solid var(--line)}.form-body label{display:block;font-size:11px;font-weight:550;color:#597277;margin-bottom:16px}.form-body em{font-style:normal;color:#488f77}.form-body label>span{color:#b3bebc;font-size:9px;font-weight:400}.form-body input,.form-body select,.form-body textarea{width:100%;border:1px solid #dfe7e3;border-radius:5px;background:white;padding:10px 12px;margin-top:8px;font-size:12px;line-height:1.5;min-height:40px;outline-offset:0}.form-body input:focus,.form-body select:focus,.form-body textarea:focus{border-color:#78ad9a;outline:2px solid #11786d1a}.form-body textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 25px;background:#fbfdfb;border-top:1px solid var(--line)}.dialog-footer>div{display:flex;gap:9px}.dialog-footer .button{font-size:11px;min-height:38px;padding:9px 13px}.required-note{font-size:9px;color:#9badab}.delete-link{background:none;border:0;display:flex;align-items:center;gap:6px;color:#b47e79;font-size:10px;padding:6px}.form-error{padding:12px;border:1px solid #ebd8ce;background:#fff6f1;color:#af6953;font-size:11px;border-radius:5px;display:flex;gap:8px;align-items:flex-start;line-height:1.7}.form-error svg{flex-shrink:0;margin-top:1px}.delete-confirm{margin-top:16px;background:#fff6f3;border:1px solid #f0d9d2;border-radius:7px;padding:15px;font-size:11px;color:#ab6256}.delete-confirm strong{font-size:12px}.delete-confirm p{font-size:10px;line-height:1.6}.delete-confirm>div{display:flex;gap:8px;justify-content:flex-end}.danger{background:#b35449;color:white}.print-dialog{width:1150px;max-width:96vw;background:#f1f5f2}.print-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 25px;border-bottom:1px solid var(--line);background:white}.print-toolbar h2{font-size:17px;margin:0}.print-toolbar p{font-size:10px;color:#9aaba7;margin:6px 0 0}.print-toolbar>div:last-child{display:flex;align-items:center;gap:16px}.print-toolbar .button{font-size:11px}.contact-toggle{display:flex;align-items:center;gap:6px;font-size:10px;color:#879a94}.print-paper{margin:25px;background:white;border:1px solid #e0e6e3;min-height:450px;padding:30px;color:#1d3239}.print-brand{justify-content:space-between;border-bottom:2px solid #244a4a;padding-bottom:19px}.print-brand,.print-brand>div{display:flex;align-items:center}.print-brand>div{gap:12px}.print-brand>div>svg{color:#21665b}.print-brand>div>span{font-family:Manrope,sans-serif;font-size:19px;font-weight:800;letter-spacing:1px}.print-brand small{display:block;font:8px DM Sans,sans-serif;letter-spacing:1.9px;margin-top:6px;color:#77938c}.print-brand>span{font-size:9px;text-align:right;color:#7b9690;line-height:1.9}.print-paper>h2{text-align:center;letter-spacing:2px;font-size:15px;margin:25px 0 18px}.print-meta{display:flex;justify-content:space-between;font-size:8px;margin-bottom:12px;color:#748a87;gap:20px}.print-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:8px}.print-table td,.print-table th{border:1px solid #ced9d2;padding:10px 6px;overflow-wrap:anywhere;line-height:1.6}.print-table th{background:#f0f5f1;font-size:7px;font-weight:600}.print-table th:first-child{width:29px}.print-table th:nth-child(2){width:15%}.print-table th.signature{width:10%}.print-table td{height:45px}.print-table td,.print-table th{break-inside:avoid}.print-bottom{display:flex;justify-content:space-between;font-size:7px;color:#8d9c98;margin-top:18px}.help-dialog{width:600px;max-width:95vw}.help-content{padding:25px 30px}.help-step{display:flex;gap:17px;margin-bottom:24px}.help-step>span{color:#7eaa97;font-size:12px;border:1px solid #e0eae4;border-radius:7px;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.help-step h3{font-size:13px;margin:0 0 6px;font-weight:650}.help-step p{font-size:11px;line-height:1.85;margin:0;color:#91a19f}.help-note{display:flex;gap:10px;background:#eff6f1;border-radius:7px;padding:17px;color:#6b927f}.help-note svg{flex-shrink:0;margin-top:1px}.help-note p{font-size:10px;line-height:1.8;margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(min-width:1500px){main{padding-top:45px}.stats{gap:20px;margin-top:35px}.stat{padding:23px}.empty-state{min-height:340px}.records-table td{padding-top:21px;padding-bottom:21px}}@media(max-width:1180px){.sidebar{width:210px;padding-left:10px;padding-right:10px}.workspace{margin-left:210px;width:calc(100% - 210px)}main{padding:30px 26px 0}.topbar{padding:0 26px}.brand{font-size:19px;gap:7px;padding:0 11px}.sidebar-note{margin-left:13px;margin-right:13px}.stats{gap:10px}.stat{padding:17px 15px}.stat-top{font-size:10px}.stat>.next-date{font-size:15px}.page-heading p{font-size:11px}.filter-select>span{display:none}.filter-select{padding-left:10px}.group-grid{grid-template-columns:repeat(2,1fr)}.toast{left:calc(50% + 105px)}.sort-note{display:none}.page-heading .button{font-size:11px}}@media(max-width:900px){.sidebar{width:76px;padding:26px 12px}.brand{padding:0;justify-content:center}.brand>span:last-child,.nav-item>svg:last-child:not(:first-child),.private-note>span,.sidebar-bottom .nav-item,.sidebar-note,.workspace-label{display:none}.sidebar nav{margin-top:45px}.nav-item{font-size:0;padding:14px 0;justify-content:center;gap:0}.private-note{margin:0;padding:20px 0 0;justify-content:center}.workspace{margin-left:76px;width:calc(100% - 76px)}main{padding:28px 22px 0}.topbar{padding:0 22px;height:65px}.stats{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:23px}.stat{padding:17px 20px}.stat>strong{font-size:27px;margin-top:12px}.stat>.next-date{font-size:18px;margin:14px 0 9px}.stat>small{font-size:9px}.page-heading{align-items:flex-start}.page-heading .button{margin-top:20px}h1{font-size:26px}.eyebrow{font-size:8px;letter-spacing:1px}.filter-caption{display:none}.date-filter input{width:132px}.list-tabs{gap:18px}.filter-panel,.list-header,.results-bar{padding-left:17px;padding-right:17px}.toast{left:calc(50% + 38px)}.print-toolbar{align-items:flex-start}.print-toolbar>div:last-child{gap:8px;flex-wrap:wrap;justify-content:flex-end}.contact-toggle{flex-basis:100%;justify-content:flex-end}.print-paper{padding:22px;margin:15px}.print-brand>div>span{font-size:15px}}@media(max-width:600px){.app-shell{display:block}.sidebar{width:100%;height:66px;inset:0 0 auto;flex-direction:row;padding:12px 16px;align-items:center;justify-content:space-between;position:relative}.brand{gap:6px;font-size:15px;letter-spacing:1.5px}.brand>span:last-child{display:block}.brand-sub{font-size:7px;letter-spacing:3.8px;margin-top:4px}.brand-mark{width:29px;height:31px}.brand-mark svg{width:26px}.sidebar nav{display:flex;gap:7px;margin:0}.nav-item{width:37px;height:37px;margin:0;padding:0;border-radius:6px}.nav-item.active{box-shadow:none;background:#31534e}.sidebar-bottom{display:none}.workspace{margin:0;width:100%}.topbar{height:43px;padding:0 18px;background:#fff}.breadcrumb{font-size:9px;gap:7px}.topbar-right{gap:0}.owner-avatar{display:none}.today{font-size:9px;gap:5px}.today svg{width:12px}main{padding:26px 16px 0}.page-heading{gap:12px;margin-bottom:22px;flex-wrap:wrap}.page-heading .eyebrow{font-size:7px;letter-spacing:.7px}h1{font-size:25px;gap:12px}.page-heading p{font-size:10px;max-width:300px;line-height:1.8}.page-heading .button{margin-top:2px;font-size:10px;min-height:36px;padding:8px 13px}.page-heading .button svg{width:16px}.stats{gap:9px;margin-bottom:20px}.stat{padding:15px 13px}.stat-top{font-size:9px}.stat-top svg{width:15px}.stat>strong{font-size:27px;margin:10px 0 6px}.stat>small{font-size:8px}.stat>.next-date{font-size:14px;margin:16px 0 8px}.list-header{height:54px;padding:0 13px}.list-tabs{gap:13px}.tab{font-size:10px;gap:5px}.tab span{font-size:8px;min-width:17px;height:16px;padding:0 4px}.refresh{width:25px}.filter-panel{padding:14px 13px}.filter-first{flex-direction:column;gap:9px}.search-field input{height:37px;font-size:10px}.filter-select{max-width:100%;padding-left:12px}.filter-select>span{display:block;font-size:9px;min-width:67px}.filter-select select{width:100%;max-width:none;height:35px;font-size:10px}.filter-second{gap:8px;margin-top:9px}.date-filter{gap:7px;flex:1}.date-filter input{width:calc((100% - 30px)/2);flex:1;min-width:90px;font-size:10px;height:32px;padding:5px}.status-filter{font-size:9px;height:30px;flex:1}.results-bar{padding:10px 13px;gap:5px;align-items:center}.results-bar>span{font-size:9px}.list-actions{gap:3px}.list-actions .button{font-size:9px;min-height:30px;padding:6px}.list-actions .button svg{width:13px}.list-actions .subtle span{display:none}.table-footer{padding:13px;font-size:8px}.table-footer>span:last-child{display:none}.empty-state{min-height:285px;padding:29px 20px}.empty-state h2{font-size:16px}.empty-state p{font-size:10px;max-width:260px}.empty-steps{gap:7px;font-size:8px;flex-wrap:wrap;justify-content:center;margin-top:25px}.empty-steps b{width:14px;height:14px;font-size:7px}.empty-steps>svg{width:10px}.page-footer{font-size:7px;padding:20px 0}.page-footer>span:last-child{display:none}.group-grid{grid-template-columns:1fr;padding:13px}.group-card h3{min-height:0}.dialog-heading{padding:22px 20px 19px}.dialog-heading h2{font-size:20px}.dialog-heading p{font-size:10px}.form-body{padding:20px}.form-grid{gap:12px}.form-body label{font-size:10px}.form-body input,.form-body select,.form-body textarea{font-size:12px;padding:10px;min-height:40px}.form-body label>span{font-size:8px}.dialog-footer{padding:15px;flex-wrap:wrap;justify-content:flex-end}.dialog-footer>div{gap:8px}.dialog-footer>.delete-link,.dialog-footer>span{margin-right:auto}.dialog-footer .button{font-size:10px;padding:8px 10px}.dialog-footer .button svg{width:14px}.required-note{display:none}.toast{left:50%;width:max-content;max-width:92vw;font-size:11px;bottom:15px;padding:13px}.print-toolbar{padding:15px;gap:10px;flex-wrap:wrap}.print-toolbar>div:last-child{justify-content:flex-start;width:100%;flex-wrap:nowrap}.print-toolbar .contact-toggle{flex-basis:auto;margin-right:auto;font-size:9px}.print-toolbar .button{font-size:9px;padding:7px}.print-toolbar h2{font-size:15px}.print-paper{margin:9px;padding:14px;overflow:auto;min-height:0}.print-bottom,.print-brand,.print-meta,.print-paper>h2,.print-table{min-width:650px}.print-brand>div>span{font-size:15px}.help-content{padding:22px 20px}.help-step{gap:13px}.help-step p{font-size:10px}.help-step h3{font-size:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@page{size:A4 landscape;margin:14mm}@media print{body{background:white;font-family:Arial,sans-serif}.app-shell,.form-dialog,.help-dialog,.print-toolbar,.toast{display:none!important}dialog.print-dialog[open]{position:static;display:block;width:100%;max-width:none;max-height:none;height:auto;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:visible;background:white}dialog::backdrop{display:none}.print-paper{border:0;margin:0;padding:0;min-height:0;overflow:visible}.print-bottom,.print-brand,.print-meta,.print-paper>h2,.print-table{min-width:0}.print-brand{break-after:avoid}.print-brand>div>span{font-size:19px}.print-paper>h2{font-size:14px;margin:20px 0}.print-table{font-size:8px}.print-table thead{display:table-header-group}.print-table tr{break-inside:avoid}.print-table th{background:#f0f5f1!important;print-color-adjust:exact}.print-table td{height:14mm}.print-bottom{margin-top:15px}body:has(.print-dialog:not([open])) .app-shell{display:block!important}body:has(.print-dialog:not([open])) .sidebar,body:has(.print-dialog:not([open])) .topbar,body:has(.print-dialog:not([open])) button{display:none!important}body:has(.print-dialog:not([open])) .workspace{margin:0;width:100%}}.firm-view-controls{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-top:1px solid #e7ecea;gap:12px;flex-wrap:wrap}.firm-view-controls small{color:#65786f}.company-type-tabs{position:sticky;top:0;z-index:4;background:#fff}.firm-section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 15px}.firm-section-title h2{font-size:17px;color:#244a3d;margin:0}.firm-section-title>span{font-size:12px;color:#738179}.firm-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.firm-card{background:white;border:1px solid #dfe7e2;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #1c463307;padding:22px;min-width:0}.firm-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.firm-card header .op-button{padding:9px 12px}.firm-code{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#71857a}.firm-card h3{font-size:19px;color:#234536;margin:7px 0 16px;line-height:1.35;overflow-wrap:anywhere}.firm-contact{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;color:#50665a}.firm-contact a{display:inline-flex;gap:5px;align-items:center;color:#285844}.firm-address{font-size:12px;line-height:1.7;color:#69786e;min-height:40px;overflow-wrap:anywhere}.firm-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;margin:0}.firm-card dt{color:#85938a;font-size:10px;margin-bottom:6px}.firm-card dd{margin:0;font-size:12px;color:#40594a;line-height:1.6}.firm-call-area{padding:12px 0;border-top:1px solid #edf0ed}.firm-call-area>small{display:inline-block;margin-left:10px;font-size:11px;color:#728278}.firm-call-area .ops-actions{margin-top:8px}.firm-payment-area{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;background:#f7f9f6;padding:16px;border-radius:9px}.firm-payment-area small{display:block;font-size:10px;color:#75867b;margin:4px 0}.firm-payment-area b{font-size:18px;color:#224f3b;display:block}.firm-payment-area .op-link{display:flex;margin-top:6px}.firm-notes{font-size:12px;color:#6c7b71;line-height:1.7;border-left:2px solid #c4ad7e;padding-left:12px;white-space:pre-wrap;overflow-wrap:anywhere}.firm-card footer{display:flex;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid #edf0eb}.firm-map{position:relative;overflow:hidden;background:#e6eae2;border-radius:10px;isolation:isolate}.firm-map img{user-select:none}.firm-pin{position:absolute;transform:translate(-50%,-100%);border:3px solid white;width:30px;height:36px;border-radius:18px 18px 18px 2px;background:#24664e;color:white;font-size:12px;font-weight:700;box-shadow:0 2px 6px #0004;z-index:2;cursor:pointer}.firm-pin.remote{background:#3b63a1}.firm-pin.chosen{outline:3px solid #eacb80;z-index:3}.firm-map-controls{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;box-shadow:0 2px 8px #0002;border-radius:6px;overflow:hidden;z-index:3}.firm-map-controls button{background:white;border:0;border-bottom:1px solid #ddd;min-width:40px;min-height:36px;cursor:pointer;color:#345845;font-size:15px}.firm-map-attribution{position:absolute;bottom:0;right:0;background:#fffffff2;color:#245c4f;padding:4px 8px;font-size:10px;z-index:3}.firm-map-caption{display:flex;justify-content:space-between;gap:10px;padding:14px;font-size:12px;background:#eef4ee;border-radius:0 0 8px 8px}.firm-map-caption a{color:#27704c}.firm-map-shell>small{display:block;font-size:11px;line-height:1.7;color:#6b7e70;margin-top:10px}.firm-map-error{position:absolute;left:60px;top:12px;background:#fff5dc;padding:10px;color:#826221;font-size:11px;z-index:3;max-width:70%}.firm-map-panel{padding:0 22px 22px}.firm-map-panel .ops-panel-head{padding-left:0;padding-right:0}.firm-map-list{display:flex;gap:12px;flex-wrap:wrap;padding:16px 0}.firm-map-panel details{padding:14px;border-top:1px solid #e8eee8}.firm-route .firm-map-shell{margin:0 22px}.firm-route-summary{display:flex;flex-wrap:wrap;gap:16px;padding:18px 22px;background:#eff5ef;color:#45684e;align-items:center}.firm-route-summary b{font-size:24px}.firm-route-summary span{font-size:12px}.firm-route-stops{list-style:none;padding:0 22px;margin:15px 0}.firm-route-stops li{display:flex;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid #e8eee8}.firm-stop-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#24664e;color:white;font-size:12px;flex-shrink:0}.firm-route-stops li>div:nth-child(2){flex:1}.firm-route-stops b{font-size:13px;color:#355140}.firm-route-stops small{display:block;font-size:11px;margin-top:6px;color:#7a887e}.firm-route-links{padding:12px 22px}.firm-route-missing,.firm-route-selection{padding:20px 22px;border-top:1px solid #e8eee8}.firm-route-selection summary{cursor:pointer;font-size:12px;color:#44624b;margin-bottom:12px}.firm-route-selection label{font-size:12px;margin:12px 0}.firm-route-missing{background:#fff9ed;font-size:12px;color:#806d3a}.firm-route-missing button{margin:10px 14px 0 0}.firm-location-editor{grid-column:1/-1;padding:20px;background:#f6f8f5;border-radius:10px;border:1px solid #dde5dc}.firm-location-editor h3{font-size:16px;color:#31523e;margin:0 0 8px}.firm-location-editor p{font-size:12px;line-height:1.7;color:#6b7d6e}.firm-location-editor>label{margin:14px 0}.firm-coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:15px 0}.firm-route .ops-toolbar{flex-wrap:wrap}.firm-route .ops-pad{font-size:12px;line-height:1.8}.firm-card-section{margin-bottom:24px}@media(min-width:1700px){.firm-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px){.firm-card-grid{grid-template-columns:1fr}.firm-route-stops li{flex-wrap:wrap}.firm-route-stops li>.ops-actions{width:100%;padding-left:44px}.company-filters{gap:12px!important}.company-type-tabs{flex-wrap:wrap}}@media(max-width:600px){.firm-card{padding:16px}.firm-card h3{font-size:17px}.firm-payment-area,.firm-view-controls{padding:12px}.firm-coordinate-fields{grid-template-columns:1fr}.firm-route .firm-map-shell{margin:0 10px}.firm-map-panel{padding:0 12px 12px}.firm-card dl{grid-template-columns:1fr}.company-type-tabs button{flex:1 1 40%}}@media print{.firm-card .op-button,.firm-card .op-link,.firm-location-editor,.firm-map-controls,.firm-route .ops-toolbar,.firm-route-links,.firm-route-missing button,.firm-route-selection,.firm-route-stops .ops-actions,.firm-view-controls{display:none!important}.firm-card-grid{grid-template-columns:1fr 1fr}.firm-card{break-inside:avoid;box-shadow:none}.firm-card h3{font-size:14px}.firm-map{print-color-adjust:exact;-webkit-print-color-adjust:exact}.firm-route-stops li{break-inside:avoid}.firm-section-title h2{font-size:16px}}.firm-excel{margin-top:18px;padding:18px 22px}.firm-excel>summary{font-size:13px;font-weight:600;color:#355e48;cursor:pointer}.firm-excel-body p{font-size:12px;line-height:1.8;color:#697e6c}.firm-excel-body .ops-table-wrap{max-height:300px;overflow:auto;margin:15px 0}.firm-excel-body .ops-table-wrap table{min-width:600px}.firm-excel-body .ops-table-wrap td{font-size:12px}.firm-excel-body .op-button{margin-top:10px}@media print{.firm-excel{display:none!important}}.firm-map-fit{position:absolute;right:12px;top:12px;padding:9px 12px;border:1px solid #d2ddd4;background:white;border-radius:6px;font-size:11px;color:#345844;cursor:pointer;z-index:3}.firm-map .ol-overlaycontainer-stopevent .firm-pin{position:relative;transform:none;left:auto;top:auto;display:block}.firm-map .ol-control button{background:#fff;color:#315a46;font-size:20px;min-width:30px;min-height:30px}.firm-map-error{z-index:4}.firm-map-attribution a{color:#245b49!important}@media print{.firm-map .ol-control,.firm-map-fit{display:none}}.auth-page{min-height:100vh;display:grid;grid-template-columns:46% 54%;font-family:Arial,Helvetica,sans-serif;color:#153d47;background:#f6f8f7}.auth-page *{box-sizing:border-box}.auth-aside{background:radial-gradient(ellipse at 30% 70%,#205957 0,#103640 57%,#0e2e3b 100%);color:white;display:flex;flex-direction:column;justify-content:space-between;padding:48px 54px;position:relative}.auth-logo{color:white;text-decoration:none;letter-spacing:3px;font-size:24px;font-weight:700;display:block}.auth-logo span{font-size:18px;font-weight:400;color:#99d2c3}.auth-logo small{display:block;font-size:8px;letter-spacing:2.4px;margin-top:11px;color:#b1cacb;font-weight:400}.auth-kicker{font-size:9px;letter-spacing:2px;font-weight:700;color:#70b9aa}.auth-aside h1{font-size:36px;line-height:1.4;letter-spacing:-1px;font-weight:500;margin:25px 0}.auth-aside>div>p{font-size:13px;line-height:2;color:#afc8c8;max-width:390px;margin:0 0 34px}.auth-feature{display:flex;align-items:center;gap:16px;font-size:12px;margin:20px 0;color:#d5e7e2}.auth-feature>span{font-size:10px;border:1px solid #487772;padding:10px;border-radius:8px;color:#a1d8c8}.auth-aside footer{font-size:10px;color:#8bb2b3;padding-top:30px}.auth-main{display:flex;justify-content:center;align-items:center;padding:50px 30px}.auth-card{width:min(410px,100%)}.auth-card>.auth-kicker{color:#168374}.auth-card h2{font-size:27px;font-weight:600;letter-spacing:-.5px;margin:13px 0}.auth-card>p{font-size:12px;line-height:1.9;color:#789294;margin:0 0 30px}.auth-card label{display:flex;flex-direction:column;font-size:11px;gap:9px;margin:18px 0;color:#466971}.auth-card input{font:inherit;font-size:14px;border:1px solid #cbdcd6;border-radius:7px;background:white;padding:14px;color:#153f49;outline:none;width:100%}.auth-card input:focus{border-color:#5b9e8a;box-shadow:0 0 0 3px #e5f4ec}.auth-submit{display:block;width:100%;padding:15px;border:0;border-radius:7px;background:#127e70;color:white;font-size:12px;font-weight:600;margin-top:26px;cursor:pointer}.auth-submit:disabled{opacity:.5;cursor:wait}.auth-links{border-top:1px solid #dfe9e3;margin-top:30px;padding-top:12px}.auth-help,.auth-links p{font-size:10px;color:#7e9795;line-height:1.9}.auth-back,.auth-links a,.auth-success a{color:#168374;font-size:11px;text-decoration:none}.auth-back{display:inline-block;margin-top:22px}.auth-security{font-size:9px;color:#9aadaa;margin-top:40px}.auth-error{font-size:11px;line-height:1.7;color:#b04d40;background:#fff0ed;padding:12px 14px;border-radius:6px;margin-top:16px}.auth-success{font-size:12px;color:#20795e;background:#e9f6ed;padding:20px;border-radius:8px;line-height:1.8}.auth-mobile{display:none}.local-session{display:flex;align-items:center;justify-content:flex-end;gap:20px;background:#153843;color:#d2e7e1;padding:10px 25px;font-family:Arial,sans-serif;font-size:10px;min-height:36px}.local-session a{color:#a8d9c9;text-decoration:none}.local-session>span{margin-right:auto;color:#c5ded6}.local-session a:hover{text-decoration:underline}@media(max-width:900px){.auth-page{grid-template-columns:40% 60%}.auth-aside{padding:35px 30px}.auth-aside h1{font-size:27px}.auth-logo{font-size:20px}.auth-logo span{font-size:15px}.auth-feature{font-size:10px}}@media(max-width:650px){.auth-page{display:block}.auth-aside{display:none}.auth-main{padding:0 25px 45px;display:block}.auth-mobile{display:block;margin:0 -25px 40px;padding:28px;background:#103640}.auth-card{margin:auto}.auth-card h2{font-size:25px}.auth-security{margin-top:28px}.local-session{padding:10px 15px;gap:12px;flex-wrap:wrap;font-size:9px}}:host,:root{--ol-background-color:white;--ol-accent-background-color:#F5F5F5;--ol-subtle-background-color:rgba(128,128,128,0.25);--ol-partial-background-color:rgba(255,255,255,0.75);--ol-foreground-color:#333333;--ol-subtle-foreground-color:#666666;--ol-brand-color:#00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{bottom:-5px;font-size:10px;z-index:11}.ol-scale-step-text,.ol-scale-text{position:absolute;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{font-size:12px;text-align:center;bottom:25px}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}