:root{--navy:#102b44;--teal:#00967a;--teal2:#00b38f;--bg:#f2f6f7;--ink:#18283a;--muted:#71808e;--line:#dce5e7;--orange:#e9852d}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;padding-top:38px;font-family:Arial,Segoe UI,sans-serif}.uat-environment-banner{z-index:100;color:#fff;letter-spacing:.06em;text-align:center;background:#9f2d20;place-items:center;min-height:38px;padding:8px 16px;font-size:12px;font-weight:800;display:grid;position:fixed;inset:0 0 auto;box-shadow:0 2px 8px #0003}button,input,select,textarea{font:inherit}button,a{cursor:pointer}.app-shell{min-height:100vh}.sidebar{color:#fff;z-index:20;background:linear-gradient(#123652,#0d2439);flex-direction:column;width:248px;padding:24px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff20;align-items:center;gap:12px;padding:0 8px 25px;display:flex}.brand-mark{background:#fff;border-radius:13px;place-items:center;width:43px;height:43px;font-size:23px;display:grid;box-shadow:0 8px 22px #0003}.brand strong,.brand span{display:block}.brand strong{font-size:15px}.brand span{color:#85dfc7;letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:11px}.sidebar nav{gap:7px;margin-top:22px;display:grid}.sidebar nav button{color:#b9c9d6;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;padding:13px 14px;display:flex}.sidebar nav button.active{color:#fff;box-shadow:inset 3px 0 var(--teal2);background:#ffffff14}.sidebar nav button b{font-size:13px}.sidebar nav button em{background:var(--orange);border-radius:12px;margin-left:auto;padding:3px 7px;font-size:10px;font-style:normal}.userbox{border-top:1px solid #ffffff20;align-items:center;gap:10px;margin-top:auto;padding-top:18px;display:flex}.userbox>div{color:#08745f;background:#dff8f0;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.userbox span{flex:1}.userbox b,.userbox small{display:block}.userbox b{font-size:12px}.userbox small{color:#9fb3c2;margin-top:3px;font-size:9px}.userbox button{color:#b8cad6;background:0 0;border:0;font-size:20px}.main{max-width:1700px;margin-left:248px;padding:27px 30px 60px}.main>header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.main>header small,.welcome small{letter-spacing:.16em;color:#778893;font-size:10px;font-weight:800}.main h1{margin:4px 0;font-size:26px}.primary{background:var(--teal);color:#fff;border:0;border-radius:9px;padding:11px 17px;font-weight:700;box-shadow:0 7px 18px #00967a2c}.primary:disabled{opacity:.6}.welcome{color:#fff;background:linear-gradient(120deg,#123a58,#0f293f);border-radius:16px;justify-content:space-between;align-items:center;padding:24px 28px;display:flex;overflow:hidden}.welcome h2{margin:7px 0;font-size:25px}.welcome p{color:#bfd0db;font-size:12px}.welcome small{color:#6fe0c3}.gift-stack{margin-right:25px;font-size:54px;position:relative}.gift-stack span{font-size:32px;position:absolute;bottom:-8px;right:-35px}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin:15px 0;display:grid}.kpis article,.panel{border:1px solid var(--line);background:#fff;border-radius:13px;padding:19px}.kpis span{letter-spacing:.1em;color:#778792;font-size:9px;font-weight:800}.kpis strong{margin:10px 0 2px;font-size:28px;display:block}.kpis small{color:var(--muted);font-size:10px}.kpis .hero-kpi{color:#fff;background:#0e715f;border:0}.kpis .hero-kpi span,.kpis .hero-kpi small{color:#b8ecdf}.dashboard-grid{grid-template-columns:1.2fr .8fr;gap:14px;display:grid}.panel h2{margin:0;font-size:15px}.muted{color:var(--muted);margin:5px 0 18px;font-size:10px}.bar-list{gap:18px;display:grid}.bar-row{grid-template-columns:120px 1fr 75px;align-items:center;gap:12px;font-size:10px;display:grid}.bar-row>div{background:#edf2f3;border-radius:8px;height:8px;overflow:hidden}.bar-row i{background:linear-gradient(90deg, var(--teal), #44cdb0);height:100%;display:block}.bar-row strong{text-align:right}.activity{border-top:1px solid #edf1f2;align-items:center;gap:10px;padding:12px 0;display:flex}.activity>span,.cards-table span{border-radius:10px;padding:5px 7px;font-size:8px}.pending{color:#a95b18;background:#fff1df}.approved{color:#08735e;background:#ddf7ef}.rejected{color:#65727e;background:#f0f2f4}.activity div b,.activity div small{font-size:10px;display:block}.activity div small{color:var(--muted);margin-top:3px}.cards-table{display:grid}.cards-table article,.approval-card{border-top:1px solid #e8edef;justify-content:space-between;align-items:center;gap:15px;padding:15px 3px;display:flex}.cards-table h3,.approval-card h3{margin:4px 0;font-size:12px}.cards-table p,.approval-card p{color:#5d6a75;margin:2px 0;font-size:10px}.cards-table small,.approval-card small{color:#86939d;font-size:9px}.cards-table article>div:last-child,.approval-card>div:last-child{align-items:center;gap:8px;display:flex}.cards-table button,.approval-card button,.actions>button:not(.primary){border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font-size:10px}.panel-head{justify-content:space-between;align-items:flex-start;display:flex}.link{font-size:11px;text-decoration:none}.empty{text-align:center;color:var(--muted);padding:38px 15px}.empty div{font-size:30px}.empty b{color:var(--ink);margin-top:8px;font-size:12px;display:block}.empty p{max-width:420px;margin:7px auto;font-size:10px}.toast{color:#fff;border-left:4px solid var(--teal2);z-index:50;background:#17354c;border-radius:10px;padding:14px 18px;font-size:11px;position:fixed;bottom:25px;right:25px;box-shadow:0 16px 40px #0003}.toast button{color:#fff;background:0 0;border:0;margin-left:15px}.modal-backdrop{z-index:40;background:#071827aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:min(600px,100%);max-height:94vh;overflow:auto}.modal header{border-bottom:1px solid var(--line);justify-content:space-between;padding:20px 22px;display:flex}.modal header h2{margin:5px 0}.modal header button{background:0 0;border:0;font-size:24px}.modal form,.photo-form{gap:13px;padding:20px 22px;display:grid}.modal label,.photo-form label,.login-card label{gap:6px;font-size:10px;font-weight:700;display:grid}.modal input,.modal select,.modal textarea,.photo-form input,.photo-form select,.login-card input{background:#fff;border:1px solid #d6e0e2;border-radius:8px;width:100%;min-width:0;padding:11px}.modal textarea{min-height:70px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.form-error{color:#9d302b;background:#fff0ef;border-radius:8px;padding:10px;font-size:10px}.upload-box{text-align:center;color:#087761;border:2px dashed #b7d5ce;border-radius:11px;padding:24px!important}.photo-source-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.login-page{background:#fff;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-art{color:#fff;background:linear-gradient(145deg,#0e2b43,#0f574d);flex-direction:column;justify-content:center;padding:8vw;display:flex}.gift-hero{font-size:75px;position:relative}.gift-hero span{background:var(--teal2);border:4px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;display:grid;position:absolute;bottom:5px;left:62px}.login-art>p:first-of-type{color:#70e0c1;letter-spacing:.18em;margin-top:28px;font-size:10px;font-weight:800}.login-art h1{letter-spacing:-.04em;margin:8px 0;font-size:47px}.login-copy{color:#c3d6dc;max-width:500px;font-size:14px;line-height:1.6}.login-card{width:min(420px,100% - 40px);margin:auto}.login-card small{color:var(--teal);letter-spacing:.14em;font-weight:800}.login-card h2{margin:8px 0;font-size:30px}.login-card>div>p{color:var(--muted);font-size:12px}.login-card form{gap:16px;margin-top:28px;display:grid}.wide{width:100%;margin-top:5px}.privacy-note{text-align:center;color:var(--muted);margin-top:20px;font-size:9px}.loading{text-align:center;color:var(--muted);padding:80px}.filter-grid{background:#f5f8f8;border-radius:10px;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:18px 0;padding:14px;display:grid}.filter-grid label,.filter-inline{font-size:10px;font-weight:700}.filter-grid input,.filter-grid select,.filter-inline input,.filter-inline select{background:#fff;border:1px solid #d6e0e2;border-radius:8px;width:100%;margin-top:5px;padding:9px}.filter-actions,.filter-inline{align-items:end;gap:8px;display:flex}.filter-actions button,.filter-inline button,.pagination button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px}.active-filters{color:var(--muted);margin:-8px 0 12px;font-size:10px}button.danger{color:#a12e2a;border-color:#efc5c1}.report-summary{flex-wrap:wrap;align-items:center;gap:18px;padding:12px 0;font-size:11px;display:flex}.report-summary strong{margin-left:auto}.responsive-table{border:1px solid var(--line);border-radius:10px;width:100%;overflow-x:auto}.responsive-table table{border-collapse:collapse;width:100%;min-width:720px;font-size:10px}.responsive-table th{text-align:left;color:#fff;text-transform:capitalize;background:#123a58;padding:11px}.responsive-table td{vertical-align:top;border-bottom:1px solid #e7edef;padding:10px 11px}.pagination{justify-content:center;align-items:center;gap:12px;margin-top:15px;font-size:10px;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:13px;margin-top:18px;display:grid}.photo-grid article{border:1px solid var(--line);border-radius:11px;gap:9px;padding:10px;display:grid}.photo-grid img,.photo-preview img{aspect-ratio:4/3;object-fit:cover;background:#edf2f3;border-radius:8px;width:100%}.photo-grid h3{margin:0 0 5px;font-size:12px}.photo-grid p,.photo-grid small{color:var(--muted);font-size:9px}.photo-actions,.user-actions{flex-wrap:wrap;gap:6px;display:flex}.photo-actions button,.user-actions button,.photo-preview button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 9px;font-size:9px}.photo-preview{gap:8px;max-width:360px;display:grid}.user-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px;margin-top:16px;display:grid}.user-grid article{border:1px solid var(--line);border-radius:11px;padding:14px}.user-grid p,.user-grid small{color:var(--muted);font-size:9px}.user-card-head{align-items:center;gap:9px;display:flex}.user-card-head>span{color:#08745f;background:#dff8f0;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.user-card-head h3{margin:0;font-size:12px}.user-card-head p{margin:3px 0 0}.user-card-head em{border-radius:10px;margin-left:auto;padding:5px 7px;font-size:8px;font-style:normal}.audit-list details{border-bottom:1px solid var(--line);padding:10px 2px}.audit-list summary{cursor:pointer;grid-template-columns:140px 160px 140px 1fr;align-items:center;gap:10px;font-size:10px;display:grid}.audit-list summary em{font-style:normal}.audit-list pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8f8;border-radius:8px;padding:11px;font-size:9px}.modal-body{padding:20px}.modal fieldset{border:1px solid var(--line);border-radius:9px;padding:12px}.modal legend{font-size:10px;font-weight:800}.modal .check{grid-template-columns:none;align-items:center;gap:8px;margin:7px 0;display:flex}.modal .check input{width:auto}button,a,input,select,textarea{outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #69cdb8}button{cursor:pointer;min-height:36px}button:disabled{cursor:not-allowed;opacity:.55}@media (max-width:1000px){.kpis{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.login-art h1{font-size:38px}.filter-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media (max-width:720px){body{padding-top:52px}.uat-environment-banner{min-height:52px;font-size:11px;line-height:1.35}.modal-backdrop{padding:8px}.modal,.modal form,.modal label{min-width:0}.modal form{padding:16px}.actions .primary{white-space:normal}.sidebar{width:68px;padding:16px 10px}.brand{padding:0 3px 18px}.brand>div:last-child,.sidebar nav button b,.sidebar nav button em,.userbox span{display:none}.brand-mark{width:42px}.sidebar nav button{justify-content:center;padding:14px}.userbox{justify-content:center}.userbox button{display:grid}.userbox>div:first-child{display:none}.main{margin-left:68px;padding:18px 13px 45px}.main h1{font-size:22px}.welcome{padding:20px}.welcome h2{font-size:20px}.gift-stack{margin-right:5px;font-size:40px}.kpis{grid-template-columns:1fr 1fr;gap:9px}.kpis article{padding:15px}.kpis strong{font-size:23px}.bar-row{grid-template-columns:90px 1fr 55px}.cards-table article,.approval-card{flex-direction:column;align-items:flex-start}.cards-table article>div:last-child,.approval-card>div:last-child{justify-content:flex-end;width:100%}.form-row{grid-template-columns:1fr}.login-page{background:linear-gradient(#0e3d4a 0 34%,#fff 34%);display:block}.login-art{min-height:285px;padding:36px 24px 55px}.gift-hero{font-size:50px}.gift-hero span{left:40px}.login-art h1{font-size:31px}.login-art .login-copy{display:none}.login-card{background:#fff;border-radius:18px;margin-top:-25px;padding:25px 21px;box-shadow:0 12px 35px #08283c25}.login-card h2{font-size:25px}.filter-grid{grid-template-columns:1fr}.filter-inline,.photo-source-grid{grid-template-columns:1fr;align-items:stretch;display:grid}.filter-actions{align-items:stretch}.filter-actions button{flex:1}.panel-head{flex-wrap:wrap;gap:10px}.panel-head .link{text-align:center;width:100%}.responsive-table{border:0;overflow:visible}.responsive-table table,.responsive-table thead,.responsive-table tbody,.responsive-table tr,.responsive-table th,.responsive-table td{min-width:0;display:block}.responsive-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.responsive-table tr{border:1px solid var(--line);border-radius:9px;margin-bottom:9px;padding:7px}.responsive-table td{overflow-wrap:anywhere;border:0;padding:5px 7px}.audit-list summary{grid-template-columns:1fr 1fr}.user-grid,.photo-grid{grid-template-columns:1fr}}
