
:root{--green:#0d432f;--green2:#176a49;--red:#c52c31;--lime:#b8d82d;--ink:#10231b;--muted:#627169;--line:#dce4df;--paper:#f4f7f5;--white:#fff}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr;background:linear-gradient(to right,var(--green) 0,var(--green) 270px,var(--paper) 270px)}.side{position:sticky;top:0;min-height:100vh;height:max-content;background:var(--green);color:white;padding:22px;display:flex;flex-direction:column}.logo{width:100%;background:white;border-radius:10px;padding:8px}.product{font-size:1.15rem;font-weight:800;padding:14px 4px 20px}.product small{display:block;color:#c8d9d0;font-size:.82rem;font-weight:400;margin-top:4px}.side nav{display:grid;gap:5px}.side nav button,.signout,.access-request{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#e7f0eb;padding:11px 12px;border-radius:8px;text-align:left;text-decoration:none}.side nav button svg,.signout svg,.access-request svg{width:18px}.side nav button.active,.side nav button:hover{background:white;color:var(--green)}.access-request{display:flex;align-items:center;gap:10px;color:#e7f0eb;padding:11px 12px;text-decoration:none;border-top:1px solid rgba(255,255,255,.18);margin-top:auto}.signout{margin-top:0}.close{display:none}main{padding:28px 34px 60px;min-width:0}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}header h1{font-size:clamp(1.8rem,3vw,2.55rem);margin:0;letter-spacing:-.04em}header p{margin:5px 0;color:var(--muted);text-transform:capitalize}.user{text-align:right}.user b,.user small{display:block}.user small{color:var(--muted)}.menu{display:none}.metrics,.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:15px}.metric{padding:20px}.metric b{display:block;font-size:2rem}.metric b.danger{color:var(--red)}.metric span{color:var(--muted)}.two{display:grid;grid-template-columns:2fr 1fr;gap:15px;margin:15px 0}.panel{padding:22px;margin-bottom:15px;box-shadow:0 5px 18px rgba(13,67,47,.04)}.panel h2{margin:0 0 7px;font-size:1.2rem}.panel h3{margin-top:24px}.panel p{color:var(--muted)}.progress{height:10px;background:#e5ece8;border-radius:99px;overflow:hidden;margin:18px 0}.progress i{display:block;height:100%;background:var(--green2)}.big{font-size:2.2rem}.domain{display:grid;grid-template-columns:36px 1fr 220px;gap:13px;align-items:center;border-top:1px solid var(--line);padding:13px 0}.domain>span{width:32px;height:32px;background:#e8f0eb;border-radius:8px;display:grid;place-items:center;font-weight:700}.domain>div{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.domain button{border:1px solid var(--line);background:#fff;padding:8px;border-radius:7px}.domain button.selected{background:var(--green);color:white}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0}.field{display:block}.field>span{display:block;font-size:.83rem;color:var(--muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #bcc9c1;border-radius:8px;background:#fff}.field textarea{min-height:90px}.primary,.outline{border:0;border-radius:8px;padding:10px 14px;font-weight:700;display:inline-flex;align-items:center;gap:8px;text-decoration:none;cursor:pointer}.primary{background:var(--green);color:#fff}.outline{background:#fff;color:var(--green);border:1px solid var(--green);padding:6px 9px}.align{align-self:end;height:42px}.check-list{margin:18px 0}.check-list label{display:grid;grid-template-columns:1fr 160px;gap:15px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.check-list small{color:var(--red);margin-left:8px}.check-list select{padding:8px;border:1px solid #bcc9c1;border-radius:8px}.critical,.notice{border:1px solid #e7a2a2;background:#fff0f0;color:#811b1b;padding:12px;border-radius:9px;margin:12px 0}.notice{background:#edf6e9;color:#244c20;border-color:#bcd5ad}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line);font-size:.9rem}th{color:var(--muted);font-size:.76rem;text-transform:uppercase}.file-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.file{border:1px solid var(--line);border-radius:10px;padding:14px;color:var(--ink);text-decoration:none;display:grid;gap:5px}.file svg{color:var(--green2)}.file span{color:var(--muted);font-size:.82rem}.report-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.timeline>div{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.timeline i{width:10px;height:10px;border-radius:50%;background:var(--green2);margin-top:5px}.timeline b,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:4px}.saving{position:fixed;right:20px;bottom:20px;background:var(--green);color:#fff;padding:12px 16px;border-radius:9px}.loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:20px}.loading img{width:260px}.loading p{color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:24px 0}
@media(max-width:950px){.app-shell{grid-template-columns:1fr;background:var(--paper)}.side{position:fixed;z-index:20;left:-290px;width:270px;transition:.2s}.side.open{left:0}.close,.menu{display:block;border:0;background:transparent}.close{color:white;margin-left:auto}.menu{margin-right:12px}main{padding:20px}.user{display:none}header{justify-content:flex-start}.metrics,.report-grid{grid-template-columns:1fr 1fr}.domain{grid-template-columns:36px 1fr}.domain>div{grid-column:2}.form-grid{grid-template-columns:1fr 1fr}.file-grid{grid-template-columns:1fr 1fr}}
.assurance{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:15px}.assurance>div{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}.assurance svg{color:var(--green2);width:28px}.assurance b,.assurance small{display:block}.assurance small{color:var(--muted);margin-top:3px}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.policy{margin:0}.policy p,.policy li{line-height:1.55}.policy li{margin-bottom:8px}.status{display:inline-block;padding:8px 11px;border-radius:8px;font-weight:700}.status.good{background:#e8f3ec;color:#185837}.danger-button{border:1px solid var(--red);color:var(--red);background:#fff;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}
@media(max-width:950px){.policy-grid{grid-template-columns:1fr}.assurance{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.metrics,.report-grid,.two,.form-grid,.file-grid,.assurance{grid-template-columns:1fr}.domain{grid-template-columns:1fr}.domain>div{grid-column:auto}.check-list label{grid-template-columns:1fr}.report-title{display:block}.report-title .primary{margin-top:10px}}
