:root{--navy:#062f4d;--navy2:#0a4269;--blue:#087db8;--sky:#eaf5fa;--orange:#ee8b2d;--ink:#173044;--muted:#6f8090;--line:#dfe7ec;--canvas:#f3f6f8;--shadow:0 14px 40px rgba(8,47,77,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:16px Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{width:1.15rem;height:1.15rem}.eyebrow{font-size:.75rem!important;letter-spacing:.17em;font-weight:800;color:var(--blue)!important;margin:0 0 9px!important}.muted{color:var(--muted)}
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(390px,43%) 1fr;background:#fff}.brand-panel{background:linear-gradient(145deg,#052b47,#07496f);color:#fff;padding:48px 60px;display:flex;flex-direction:column;position:relative;overflow:hidden}.brand-panel:after{content:"";position:absolute;width:520px;height:520px;border:1px solid #ffffff18;border-radius:50%;right:-260px;bottom:-170px;box-shadow:0 0 0 75px #ffffff08,0 0 0 150px #ffffff05}.wordmark{display:flex;align-items:baseline;gap:8px;position:relative;z-index:1}.wordmark b{font:italic 2.8rem/1 Georgia,serif}.wordmark span{font:.9rem Georgia,serif}.brand-copy{margin:auto 0;position:relative;z-index:1}.brand-copy i{display:block;width:54px;height:4px;background:var(--orange);margin-bottom:30px}.brand-copy h1{font:400 clamp(2.4rem,4vw,4.5rem)/1.08 Georgia,serif;margin:0 0 25px}.brand-copy p{font-size:1.1rem;color:#c6d9e5}.brand-panel>small{color:#aec6d5;z-index:1}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:min(100%,410px)}.mobile-logo{display:none}.login-card h2{font:400 2.5rem Georgia,serif;margin:0 0 6px}.login-card>.muted{margin:0 0 34px}.login-card label,.entry label,.filters label{display:block;font-size:.86rem;font-weight:700;color:#41586a;margin-bottom:19px}.login-card input,.login-card select,.entry input,.entry select,.entry textarea,.filters input,.filters select{width:100%;border:1px solid #cedae2;border-radius:8px;background:#fff;color:var(--ink);padding:13px 14px;margin-top:8px;outline:none}.login-card input:focus,.entry input:focus,.entry select:focus,.entry textarea:focus,.filters input:focus,.filters select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #087db81a}.select-wrap{position:relative}.select-wrap select{appearance:none}.select-wrap>svg{position:absolute;right:13px;top:50%;transform:translateY(-18%);pointer-events:none;color:var(--muted)}.primary{border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:800;padding:14px 18px;box-shadow:0 8px 20px #087db833}.login-card>.primary{width:100%}.link{border:0;background:none;color:var(--blue);width:100%;margin-top:18px;font-weight:700;font-size:.86rem}
.app-shell{min-height:100vh;display:flex}.sidebar{width:264px;position:fixed;inset:0 auto 0 0;z-index:30;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:28px 18px}.side-head{padding:4px 12px 28px}.side-head .wordmark b{font-size:2rem}.side-head .wordmark span{font-size:.8rem}.close{display:none}.user{display:flex;gap:12px;align-items:center;padding:18px 10px;margin-bottom:20px;border-block:1px solid #ffffff1f}.user>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e8f4f8;color:var(--navy);font-size:.78rem;font-weight:800}.user b,.user small{display:block}.user b{font-size:.83rem;margin-bottom:4px}.user small{font-size:.7rem;color:#a9c4d4}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.logout{width:100%;display:flex;gap:12px;align-items:center;border:0;border-radius:7px;background:transparent;color:#c0d3df;padding:12px;font-weight:700;font-size:.87rem}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff1a;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 var(--orange)}.logout{margin-top:auto}.workspace{margin-left:264px;width:calc(100% - 264px);min-height:100vh}.workspace>header{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.workspace>header small,.workspace>header b{display:block}.workspace>header small{color:var(--muted);font-size:.73rem}.workspace>header b{font-size:.88rem;margin-top:2px}.secure{display:flex;gap:7px;align-items:center;color:#577084;font-size:.8rem;font-weight:700}.menu{display:none}.content{padding:36px 40px 60px;max-width:1450px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:20px}.heading h1{font:400 2.15rem Georgia,serif;margin:0 0 7px;color:var(--navy)}.heading p{margin:0;color:var(--muted);font-size:.92rem}.today{background:#e5f3f8;border-left:4px solid var(--blue);padding:13px 19px;border-radius:4px;min-width:184px}.today small,.today b{display:block}.today small{font-size:.73rem;color:#597182;margin-bottom:4px}.today b{font-size:1.17rem;color:var(--navy)}.card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:25px}.entry{padding:28px}.form-row{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}.input-icon{position:relative}.input-icon svg{position:absolute;left:13px;top:21px;color:var(--muted)}.input-icon input{padding-left:42px}.entry textarea{height:105px;resize:vertical}.entry>label{position:relative}.count{position:absolute;right:10px;bottom:10px;color:#94a2ad;font-size:.7rem;font-weight:400}.entry fieldset{border:0;padding:0;margin:25px 0}.entry legend{font-size:.86rem;font-weight:700;color:#41586a;margin-bottom:11px}.times{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.times button{border:1px solid #cedae2;border-radius:7px;background:#fff;color:#42596b;padding:13px 5px;font-weight:800;font-size:.82rem}.times button:hover,.times button.selected{border-color:var(--blue);background:var(--sky);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.form-foot{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between}.form-foot p{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.75rem}.save,.export{display:flex;align-items:center;gap:8px}.save{padding-inline:28px}.recent{padding:24px}.section-title{display:flex;justify-content:space-between;align-items:start}.section-title h2,.summary h2{font:400 1.35rem Georgia,serif;color:var(--navy);margin:0 0 3px}.section-title p{color:var(--muted);font-size:.75rem;margin:0}.section-title>svg{color:var(--blue)}.recent article{display:flex;justify-content:space-between;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.recent article:last-child{border:0}.recent article b{font-size:.82rem;color:var(--navy)}.recent article p{font-size:.78rem;line-height:1.4;color:#4c6273;margin:5px 0}.recent article small{font-size:.68rem;color:#8d9ba5}.recent article strong{white-space:nowrap;font-size:.77rem;color:var(--blue);background:var(--sky);height:min-content;padding:5px 8px;border-radius:5px}.toast{position:fixed;right:28px;bottom:28px;background:#fff;border:1px solid #cfe1d7;box-shadow:0 18px 45px #0002;border-radius:9px;padding:13px 18px 13px 13px;display:flex;align-items:center;gap:12px;animation:slide .3s}.toast>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f6ed;color:#258851}.toast b,.toast small{display:block}.toast b{font-size:.82rem}.toast small{font-size:.75rem;color:var(--muted);margin-top:2px}@keyframes slide{from{transform:translateY(18px);opacity:0}}
.table-card{overflow:hidden}.tools{padding:18px 20px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.search{position:relative;min-width:320px}.search svg{position:absolute;left:12px;top:11px;color:#788995}.search input{width:100%;border:1px solid #d4dfe5;border-radius:7px;padding:10px 12px 10px 39px}.outline{display:flex;align-items:center;gap:8px;border:1px solid #cedae2;background:#fff;border-radius:7px;color:#465e70;padding:9px 13px;font-weight:700;font-size:.8rem}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:870px}th,td{padding:15px 17px;text-align:left;border-bottom:1px solid #e8edf0;font-size:.78rem}th{background:#f7f9fa;color:#71818e;text-transform:uppercase;letter-spacing:.05em;font-size:.67rem}td{color:#455c6d}td b{color:var(--navy)}.pill{padding:5px 8px;border-radius:20px;font-size:.68rem;font-weight:800}.pill.blue{background:#e7f3f9;color:#0874a9}.pill.orange{background:#fff0e3;color:#b96013}.icon{border:0;background:#eef4f7;color:#416175;border-radius:5px;padding:6px}.icon svg{width:1rem;height:1rem}.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:20px;margin-bottom:20px}.filters label{margin:0}.filters input,.filters select{margin-top:6px;padding:10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.stats article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px;display:flex;align-items:center;gap:15px}.stats article>svg{color:var(--blue);background:var(--sky);padding:10px;width:42px;height:42px;border-radius:8px}.stats span,.stats b{display:block}.stats span{font-size:.74rem;color:var(--muted)}.stats b{font:400 1.45rem Georgia,serif;color:var(--navy);margin-top:3px}.report-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:20px}.chart,.summary{padding:23px}.bars{margin-top:26px;display:grid;gap:18px}.bar{display:grid;grid-template-columns:180px 1fr 75px;gap:12px;align-items:center;font-size:.74rem}.bar>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar>div{height:8px;background:#edf2f4;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--navy2),var(--blue));border-radius:10px}.bar>b{text-align:right;color:var(--navy)}.summary>.donut{width:150px;height:150px;margin:25px auto;border-radius:50%;background:conic-gradient(var(--blue) 0 66%,var(--orange) 66%);display:grid;place-items:center;position:relative}.summary>.donut:after{content:"";position:absolute;width:104px;height:104px;border-radius:50%;background:#fff}.donut span{z-index:1;text-align:center;font:1.3rem Georgia;color:var(--navy)}.donut small{display:block;font:.65rem Arial;color:var(--muted)}.summary>p{display:flex;align-items:center;gap:8px;font-size:.74rem;color:#526879}.summary>p b{margin-left:auto;color:var(--navy)}.dot{width:9px;height:9px;border-radius:50%}.blue-dot{background:var(--blue)}.orange-dot{background:var(--orange)}
.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:23px;display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:center;box-shadow:var(--shadow)}.admin-card>span{width:49px;height:49px;display:grid;place-items:center;border-radius:9px;background:var(--sky);color:var(--blue)}.admin-card h2{font:400 1.25rem Georgia;color:var(--navy);margin:0 0 5px}.admin-card div>b,.admin-card div>small{display:block}.admin-card div>b{font-size:.82rem}.admin-card div>small{font-size:.7rem;color:var(--muted);margin-top:4px}.admin-card button{border:1px solid #ccd9e0;background:#fff;color:var(--blue);font-weight:800;font-size:.75rem;padding:9px 12px;border-radius:6px}.admin-note{margin-top:20px;padding:20px;display:flex;gap:14px}.admin-note>svg{color:var(--blue);flex:none}.admin-note b{font-size:.9rem}.admin-note p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
.client-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}.autocomplete{position:relative}.autocomplete>input{margin-top:0}.autocomplete.invalid>input{border-color:#cf3f45;box-shadow:0 0 0 3px #cf3f4517}.suggestions{position:absolute;z-index:12;top:calc(100% + 5px);inset-inline:0;background:#fff;border:1px solid #cbd9e1;border-radius:8px;box-shadow:0 12px 30px #062f4d26;overflow:hidden}.suggestions button{width:100%;border:0;border-bottom:1px solid #edf1f3;background:#fff;padding:11px 13px;text-align:left;display:flex;align-items:center;justify-content:space-between;color:var(--ink)}.suggestions button:hover{background:var(--sky)}.suggestions button small{color:var(--muted);font-size:.7rem}.view-all{border:1px solid #cedae2;border-radius:8px;background:#fff;color:var(--blue);display:flex;align-items:center;gap:6px;padding:0 12px;font-weight:800;font-size:.75rem}.view-all:hover{background:var(--sky)}.field-error{display:block;color:#bd3038;font-weight:600;font-size:.72rem;margin-top:6px}.time-stepper{display:grid;grid-template-columns:32px minmax(58px,1fr) 32px;align-items:stretch;border:1px solid #cedae2;border-radius:7px;overflow:hidden;background:#fff}.time-stepper.selected{border-color:var(--blue);background:var(--sky);box-shadow:inset 0 0 0 1px var(--blue)}.times .time-stepper button{border:0;border-radius:0;background:transparent;padding:0;color:#526879;box-shadow:none}.times .time-stepper button:first-child{border-right:1px solid #d8e2e7}.times .time-stepper button:last-child{border-left:1px solid #d8e2e7}.times .time-stepper .step-value{font-size:.78rem;color:var(--blue);font-weight:800}.times .time-stepper svg{width:.9rem;height:.9rem}.modal-backdrop{position:fixed;z-index:100;inset:0;background:#062f4d8c;display:grid;place-items:center;padding:20px}.client-modal{width:min(100%,610px);max-height:min(680px,85vh);background:#fff;border-radius:12px;box-shadow:0 24px 70px #0004;overflow:hidden}.client-modal>header{display:flex;align-items:start;justify-content:space-between;padding:23px 24px 18px;border-bottom:1px solid var(--line)}.client-modal h2{font:400 1.65rem Georgia;color:var(--navy);margin:0}.client-modal header button{border:0;background:#eff4f6;color:#577084;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.client-list{padding:8px 12px 16px;overflow-y:auto;max-height:520px}.client-list>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;border-bottom:1px solid #e8edf0;background:#fff;padding:14px 12px;text-align:left;color:var(--ink)}.client-list>button:hover{background:var(--sky)}.client-list>button>span{font-weight:700;font-size:.85rem}.report-filters{grid-template-columns:repeat(3,1fr)}.empty{color:var(--muted);font-size:.82rem;padding:16px 0}
@media(max-width:1050px){.times{grid-template-columns:repeat(3,1fr)}.two-col,.report-grid{grid-template-columns:1fr}.filters,.report-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.login-page{display:block;background:#f5f8fa;padding:28px 18px}.brand-panel{display:none}.login-panel{padding:0;min-height:calc(100vh - 56px)}.login-card{background:#fff;border:1px solid var(--line);padding:28px;border-radius:12px;box-shadow:var(--shadow)}.mobile-logo{display:flex;color:var(--navy);margin-bottom:35px}.sidebar{transform:translateX(-100%);transition:.25s;box-shadow:14px 0 40px #0003}.sidebar.open{transform:none}.close{display:block;position:absolute;right:15px;top:28px;border:0;background:none;color:#fff}.workspace{margin-left:0;width:100%}.workspace>header{height:64px;padding:0 18px}.menu{display:grid;place-items:center;border:0;background:none;color:var(--navy)}.secure{display:none}.content{padding:25px 18px 45px}.heading{align-items:start}.heading h1{font-size:1.8rem}.heading>div>p:not(.eyebrow){font-size:.82rem}.today{min-width:auto;padding:10px 12px}.today small{font-size:.62rem}.today b{font-size:.9rem}.form-row{grid-template-columns:1fr}.client-line{grid-template-columns:1fr}.view-all{height:40px;justify-content:center}.entry{padding:20px}.form-foot{align-items:stretch;flex-direction:column;gap:12px}.save{width:100%;justify-content:center}.tools{flex-direction:column}.search{min-width:0}.stats{grid-template-columns:1fr}.filters,.report-filters{grid-template-columns:1fr}.heading:has(.export){flex-direction:column}.export{width:100%;justify-content:center}.admin-grid{grid-template-columns:1fr}.admin-card{grid-template-columns:auto 1fr}.admin-card button{grid-column:1/-1}.bar{grid-template-columns:115px 1fr 60px}.toast{left:18px;right:18px}}
