:root{--navy:#082b3b;--teal:#086b76;--muted:#607784;--sky:#e9f3f6;--line:#dce8eb;--paper:#fff;--red:#b94336;--gold:#c57f22;--soft:#f5fafb;--shadow:0 7px 24px rgba(20,64,79,.06)}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:#edf5f6;color:var(--navy)}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:var(--teal)}.loading{padding:20vh 16px;text-align:center}.shell{max-width:1130px;margin:0 auto;min-height:100vh;background:#f4f8f9}.top{background:#fff;border-bottom:1px solid var(--line);padding:12px clamp(14px,3vw,34px);display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:20}.logo{display:flex;align-items:center;gap:11px;font-size:1.2rem;font-weight:850;letter-spacing:-.3px;min-width:0}.logo .mark{width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:21px}.logo small{font-size:.65rem;display:block;font-weight:700;letter-spacing:1.8px;color:var(--teal)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.user-pill{font-size:.79rem;color:var(--muted);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 14px;color:var(--navy);font-weight:700}.btn.primary{background:var(--teal);color:white;border-color:var(--teal)}.btn.ghost{border:0;background:transparent}.btn.danger{color:#a63b33}.btn.tiny{padding:5px 8px;font-size:.78rem}.btn:focus-visible,.nav-btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #67b9ca;outline-offset:2px}.layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:20px;padding:20px}.side{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;height:max-content;position:sticky;top:85px}.nav-btn{width:100%;text-align:left;display:flex;gap:10px;align-items:center;padding:11px 13px;border:none;background:transparent;border-radius:10px;font-weight:740;color:var(--muted);margin:2px 0}.nav-btn.active{background:#e5f2f2;color:#005766}.nav-btn .ico{width:24px;text-align:center;font-size:21px}.main{min-width:0;padding-bottom:48px}.section{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:15px;box-shadow:var(--shadow)}.hero{background:linear-gradient(115deg,#0b3446,#115f70 75%,#14869a);color:white;border-radius:19px;padding:25px;margin-bottom:15px;position:relative;overflow:hidden}.hero:after{content:'◌';position:absolute;font-size:190px;opacity:.08;right:7%;top:-70px}.hero h1{margin:7px 0;font-family:Georgia,serif;font-size:clamp(1.65rem,4vw,2.55rem);letter-spacing:-.3px}.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-size:.68rem;font-weight:800;color:#aadfe4}.hero p{color:#d8edf0;margin:0;max-width:600px}.head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:13px}.head h1,.head h2{margin:0;font-size:1.45rem}.head p{color:var(--muted);margin:3px 0 0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow)}.metric{font-size:2.1rem;font-weight:800;margin:3px 0}.metric small{font-size:12px;color:var(--muted)}.caps{font-size:.76rem;text-transform:uppercase;letter-spacing:1px;font-weight:850;color:var(--teal)}.tools{display:flex;gap:8px;flex-wrap:wrap}.hint{font-size:.88rem;color:var(--muted);line-height:1.55}.empty{padding:24px 15px;text-align:center;background:var(--soft);border:1px dashed #cbdfe4;border-radius:13px;color:var(--muted)}.rowline{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.rowline:last-child{border-bottom:0}.rowline strong{display:block}.rowline small{color:var(--muted);display:block;line-height:1.6}.pill{border-radius:20px;display:inline-block;background:#edf5f7;color:#246977;padding:4px 10px;font-size:.72rem;font-weight:800;white-space:nowrap}.pill.paid{background:#dff2e9;color:#11704d}.pill.unpaid{background:#fff0df;color:#986124}.pill.warn{background:#fbece9;color:#a73e35}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:5px;font-size:.83rem;font-weight:750;color:#3c5966}.form-grid .full{grid-column:1/-1}.field{padding:12px;border:1px solid #c9dadd;border-radius:10px;min-width:0;width:100%;background:white;color:var(--navy)}textarea.field{min-height:76px;resize:vertical}.stack{display:grid;gap:12px}.subnav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.photos{display:flex;gap:9px;flex-wrap:wrap}.photo{height:74px;width:74px;background:#eef6f7;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.photo span{font-size:.68rem;text-align:center;padding:3px}.banner{border-left:4px solid #148293;background:#e9f5f6;padding:12px;border-radius:9px;color:#245966;font-size:.88rem;margin-bottom:14px}.warning{border-color:#d08d32;background:#fff6e8;color:#825319}.error{border-color:var(--red);background:#fff0ed;color:#8b3027}.buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.file-card{background:white;border:1px solid var(--line);padding:16px;border-radius:14px;margin:10px 0}.file-card .cardtitle{display:flex;justify-content:space-between;gap:10px;align-items:center}.file-card h3{margin:0}.detail{color:var(--muted);font-size:.87rem}.edit-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 20% 10%,#a7dfe4,transparent 50%),#eaf4f5}.auth-card{max-width:465px;width:100%;background:white;padding:30px;border-radius:21px;box-shadow:0 20px 60px #244c5b27}.auth-card h1{font-family:Georgia,serif;margin:7px 0}.auth-card .mark{display:inline-block;border-radius:11px;padding:12px;background:#063c4a;color:#fff;font-size:28px}.bottom{display:none}.tagline{color:var(--muted);font-size:.87rem}#toast{position:fixed;z-index:90;bottom:24px;left:50%;transform:translateX(-50%);background:#113743;color:white;padding:11px 17px;border-radius:11px;display:none;max-width:90vw;box-shadow:0 12px 30px #0004}.sr-only{position:absolute;left:-9999px} .number{font-variant-numeric:tabular-nums} .spinner{display:inline-block;width:16px;height:16px;border:2px solid #fff6;border-top-color:white;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.layout{grid-template-columns:1fr;padding:12px;gap:0}.side{display:none}.top{padding:9px 14px}.user-pill{display:none}.logo{font-size:1rem}.section{padding:15px}.hero{padding:20px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding-bottom:98px}.bottom{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fff;border-top:1px solid var(--line);height:72px;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom)}.bottom button{display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent;border:0;color:#6a8190;font-size:.67rem;font-weight:750;min-width:58px}.bottom button.active{color:var(--teal)}.bottom .ico{font-size:24px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.rowline{align-items:flex-start}.top-actions .btn{padding:8px 10px}.photos{gap:6px}.head h1{font-size:1.28rem}}
@media(max-width:390px){.cards{gap:7px}.card{padding:12px}.metric{font-size:1.7rem}.caps{font-size:.67rem}.subnav{flex-wrap:wrap}}
