:root{--navy:#103b55;--teal:#1e8a8a;--red:#cf2f3b;--red-dark:#a91f2a;--pale:#eaf4f4;--ink:#24323d;--muted:#60717b;--line:#d7e1e6;--danger:#a73232;--bg:#f5f8fa}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}
a{color:var(--teal);text-decoration:none}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:fixed;inset:0 0 auto 0;z-index:20}
.brand{display:flex;gap:12px;align-items:center;color:var(--navy)}.brand-mark{width:52px;height:39px;border-radius:12px;background:linear-gradient(135deg,var(--navy) 0 68%,var(--red) 68% 100%);display:grid;place-items:center;color:#fff;font-size:13px;font-weight:850;letter-spacing:.05em}.brand strong,.brand small{display:block}.brand small{font-size:12px;color:var(--muted);margin-top:2px}
.sidebar{position:fixed;top:70px;left:0;bottom:0;width:230px;background:var(--navy);padding:20px 14px;display:flex;flex-direction:column;justify-content:space-between;z-index:15}.sidebar nav{display:grid;gap:6px}.sidebar a,.link-button{color:#e9f4f6;padding:11px 13px;border-radius:9px;display:block;font-size:14px}.sidebar a:hover,.link-button:hover{background:#1e536d}.link-button{border:0;background:none;width:100%;text-align:left;cursor:pointer}.main{margin-left:230px;padding:94px 28px 40px;max-width:1450px}.login-main{margin-left:0;display:grid;place-items:center;min-height:100vh;padding:90px 20px 30px}
.menu-button{display:none;border:0;background:var(--pale);color:var(--navy);font-size:22px;border-radius:8px;padding:7px 10px}.overlay{display:none}
h1{font-size:27px;color:var(--navy);margin:0 0 7px}.page-lead{color:var(--muted);margin:0 0 23px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px}.actions{display:flex;gap:9px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--teal);background:var(--teal);color:#fff;border-radius:9px;padding:9px 13px;font-weight:650;font-size:14px;cursor:pointer}.button.secondary{background:#fff;color:var(--teal)}.button.danger{background:var(--danger);border-color:var(--danger)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 12px rgba(16,59,85,.05)}.metric{padding:19px}.metric span{font-size:13px;color:var(--muted)}.metric strong{font-size:30px;color:var(--navy);display:block;margin-top:7px}.panel{padding:20px;margin-bottom:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse}th{background:var(--navy);color:#fff;text-align:left;font-size:12px;letter-spacing:.03em}th,td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:hover{background:#f6fbfb}.status{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--pale);color:#17676a;font-size:12px;font-weight:700}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:700;color:var(--navy)}input,select,textarea{width:100%;border:1px solid #b9c8d0;border-radius:9px;padding:10px 11px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:95px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(30,138,138,.15);border-color:var(--teal)}.validation-summary-errors{background:#fff0f0;color:#8b2525;padding:12px;border-radius:9px;margin-bottom:15px}.field-validation-error{color:#a73232;font-size:12px}
.search{display:flex;gap:8px;max-width:440px;margin-bottom:15px}.empty{padding:32px;text-align:center;color:var(--muted)}.muted{color:var(--muted)}.money{font-weight:750;color:var(--navy)}.login-card{width:min(430px,100%);padding:28px}.login-card h1{text-align:center}.login-card .page-lead{text-align:center}
.signature-wrap{border:1px dashed #78919e;border-radius:12px;background:#fff;padding:10px}.signature-pad{width:100%;height:190px;touch-action:none;display:block}.signature-image{max-width:420px;width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}.print-only{display:none}
.user-summary{color:#e9f4f6;padding:10px 13px;border-top:1px solid rgba(255,255,255,.15);margin-top:auto}.user-summary strong,.user-summary small{display:block}.user-summary small{opacity:.75;margin-top:3px}.notice{background:#e8f7ef;color:#24613e;border:1px solid #b9dfca;padding:11px 12px;border-radius:9px}.notice.error{background:#fff0f1;color:var(--red-dark);border-color:#e8b5ba}
.request-photos{display:flex;gap:7px;flex-wrap:wrap;min-width:120px}.request-photos img{width:62px;height:62px;object-fit:cover;border-radius:8px;border:2px solid var(--line);display:block}.request-photos img:hover{border-color:var(--red)}
.photo-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-upload-grid>div{display:grid;gap:5px}.photo-upload-grid small{color:var(--navy);font-weight:700}.user-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:275px}.user-actions form{margin:0}.user-actions .button{width:auto;padding:7px 10px}.status-disabled{background:#f7e8ea;color:var(--red-dark)}.status-terminated{background:#e3e7ea;color:#5d6670}.button.permanent-disabled,.button:disabled{background:#c5cbd0!important;border-color:#c5cbd0!important;color:#68717a!important;cursor:not-allowed;box-shadow:none}
.confirm-dialog{width:min(520px,calc(100% - 30px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(16,59,85,.3)}.confirm-dialog::backdrop{background:rgba(10,30,42,.62)}.confirm-dialog form{padding:28px}.confirm-dialog h2{color:var(--navy);margin:0 0 12px}.confirm-dialog p{color:var(--muted);line-height:1.6;margin:0 0 20px}.confirm-dialog .actions{margin-top:22px}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s}.main{margin-left:0;padding-inline:18px}.menu-button{display:block}.menu-open .sidebar{transform:translateX(0)}.menu-open .overlay{display:block;position:fixed;inset:70px 0 0;background:rgba(0,0,0,.35);z-index:14}}
@media(max-width:640px){.topbar{padding-inline:14px}.main{padding-top:88px}.cards,.form-grid,.photo-upload-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-head{align-items:start;flex-direction:column}th,td{padding:9px;font-size:13px}.button{width:100%}.actions{width:100%}.actions .button{flex:1}.brand small{display:none}}
@media print{.topbar,.sidebar,.actions,.button,.no-print{display:none!important}.main{margin:0;padding:0}.panel,.table-wrap{box-shadow:none;border-color:#aaa}.print-only{display:block}}
.public-nav{display:flex;gap:22px;align-items:center}.public-nav a{color:var(--navy);font-size:14px;font-weight:650}.public-nav a:last-child{color:var(--red)}.public-nav a:last-child:hover{color:var(--red-dark)}
.work-section .section-heading p{color:var(--muted);line-height:1.6}.work-grid{display:grid;gap:26px}.work-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 28px rgba(16,59,85,.06)}.work-card h3{color:var(--navy);margin:0 0 16px;font-size:21px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.comparison figure{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#dfe8ec;aspect-ratio:4/3}.comparison img{width:100%;height:100%;display:block;object-fit:cover}.comparison figure>span{position:absolute;z-index:1;top:12px;left:12px;background:rgba(16,59,85,.9);color:#fff;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:800;letter-spacing:.04em}.comparison figure:last-child>span{background:var(--red)}
.hero{width:min(1180px,100%);display:grid;grid-template-columns:1.45fr .75fr;gap:60px;align-items:center;padding:70px 24px 55px}.hero h1{font-size:clamp(40px,6vw,72px);line-height:1.02;letter-spacing:-.045em;margin:15px 0 22px;max-width:850px}.hero p{font-size:19px;line-height:1.7;color:var(--muted);max-width:720px}.eyebrow{color:var(--red);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero-actions{display:flex;gap:12px;margin-top:28px}.hero-actions .button:not(.secondary),.cta .button{background:var(--red);border-color:var(--red)}.hero-actions .button:not(.secondary):hover,.cta .button:hover{background:var(--red-dark);border-color:var(--red-dark)}.hero-card{background:var(--navy);color:#fff;border-radius:24px;padding:34px;display:grid;gap:7px;box-shadow:0 24px 60px rgba(16,59,85,.22);border-top:5px solid var(--red)}.hero-card strong{font-size:18px;margin-top:14px}.hero-card span{opacity:.72}.public-section{width:min(1180px,calc(100% - 48px));margin:30px auto 80px}.section-heading{max-width:650px}.public-section h2,.cta h2{color:var(--navy);font-size:clamp(30px,4vw,46px);line-height:1.1;margin:10px 0 28px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-grid article{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:30px;border-radius:18px}.service-grid h3{font-size:21px;color:var(--navy)}.service-grid p{color:var(--muted);line-height:1.65}.service-number{color:var(--red);font-weight:800}.public-band{background:var(--navy);color:#fff;padding:46px;border-radius:24px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.public-band h2{color:#fff}.public-band ul{display:grid;gap:16px;line-height:1.55}.public-band li::marker{color:var(--red)}.cta{width:min(1180px,calc(100% - 48px));margin:0 auto 55px;background:#fff0f1;border-left:6px solid var(--red);padding:42px;border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:25px}.cta h2{margin-bottom:8px}.cta p{color:var(--muted)}.public-footer{width:min(1180px,calc(100% - 48px));margin:auto;padding:30px 0 45px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}.request-shell{width:min(1050px,100%);display:grid;grid-template-columns:.75fr 1.25fr;gap:35px;align-items:start;padding:35px 20px}.request-intro{padding-top:25px}.request-intro h1{font-size:42px;margin:12px 0}.request-intro p{color:var(--muted);line-height:1.7}.request-card{padding:28px}.request-card .button{margin-top:18px}.thanks-card{text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:50px;width:min(600px,100%)}.thanks-check{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#dff1ef;color:var(--teal);font-size:34px;margin:0 auto 20px}
@media(max-width:800px){.public-nav a:not(:last-child){display:none}.hero,.request-shell,.public-band{grid-template-columns:1fr}.hero{padding-top:35px;gap:30px}.service-grid{grid-template-columns:1fr}.cta,.public-footer{align-items:flex-start;flex-direction:column}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.comparison{grid-template-columns:1fr}.comparison figure{aspect-ratio:4/3}}
