:root{--navy:#122e46;--blue:#1269a8;--ink:#19354c;--muted:#627587;--line:#dfe7ee;--bg:#f3f6fa}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:16px/1.55 Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button,.button{cursor:pointer;color:var(--ink);background:#fff;border:1px solid #c8d6e3;border-radius:7px;padding:9px 15px;text-decoration:none}button:hover{background:#eaf2f8}.primary,.button{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{background:#0a5186}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #c8d6e3;border-radius:6px;max-width:100%;padding:9px}textarea{resize:vertical;width:100%;margin:7px 0 12px;display:block}label{font-size:14px;font-weight:600;display:block}label input{width:100%;margin-top:6px;display:block}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1px;margin-bottom:7px;font-size:34px}h2{letter-spacing:-.3px;font-size:20px}h3{font-size:18px}p{margin-bottom:16px}small{color:var(--muted);font-size:13px}a{color:#1269a8}.shell{grid-template-columns:242px minmax(0,1fr);min-height:100vh;display:grid}aside{background:var(--navy);color:#fff;flex-direction:column;padding:28px 18px;display:flex}.brand{letter-spacing:2px;font-size:35px;font-weight:800;line-height:1.15}.brand span{letter-spacing:.1px;margin-top:6px;font-size:13px;font-weight:400;display:block}.workspace-label{letter-spacing:1.8px;color:#9fb5c8;margin:48px 12px 12px;font-size:11px}nav button{text-align:left;color:#d5e3ef;background:0 0;border:0;width:100%;margin:4px 0;padding:11px 14px;font-size:14px;display:block}nav button.active{color:#fff;background:#24465f;box-shadow:inset 3px 0 #68bdf1}nav button:hover{background:#24465f}.sidebar-bottom{margin-top:auto;padding:35px 12px 0;font-size:14px}.sidebar-bottom small{color:#9fb5c8}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:18px 34px;display:flex}header label{align-items:center;gap:12px;font-weight:400;display:flex}header select{padding:6px 10px}.preview-banner{color:#325c7c;letter-spacing:.3px;background:#e9f1fa;padding:9px 34px;font-size:12px}main{max-width:1550px;margin:auto;padding:32px}.pagehead{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.pagehead p:last-child{color:var(--muted);margin:0}.eyebrow{letter-spacing:1.8px;color:#4b799b;margin-bottom:8px;font-size:11px;font-weight:700}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-top:3px solid #6499c0;border-radius:8px;padding:23px}.metrics span,.metrics strong,.metrics small{display:block}.metrics span{font-size:14px}.metrics strong{font-size:29px;line-height:1.5}.metrics small{margin-top:3px}.columns{grid-template-columns:1.65fr 1fr;gap:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:23px;padding:25px}.sectionhead{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.sectionhead h2{margin:0}.badge{color:#245879;white-space:nowrap;background:#e9f2f8;border-radius:20px;padding:4px 10px;font-size:12px;display:inline-block}.badge.danger{color:#b83b24;background:#fff0ed}.update{border-top:1px solid var(--line);gap:13px;margin-top:20px;padding-top:20px;display:flex}.update p{margin-top:10px;font-size:15px}.avatar{color:#235d88;background:#dfebf5;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:inline-grid}.large{width:60px;height:60px;margin-bottom:20px;font-size:20px}.contact a{overflow-wrap:anywhere;font-size:14px}.contact hr{border:0;border-top:1px solid var(--line);margin:23px 0}.contact p strong{display:block}.centre{text-align:left;align-items:center;gap:20px;width:100%;padding:20px;display:flex}.centre>span{background:#e6f1fa;border-radius:9px;padding:18px;font-weight:700}.centre h3,.centre p{margin:0}.centre p{color:var(--muted);font-size:14px}.centre b{white-space:nowrap;margin-left:auto}.tablewrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#f4f7fa;font-size:12px}th,td{border-bottom:1px solid var(--line);padding:14px 12px}td input,td select{padding:7px;font-size:13px}td small{display:block}.textbutton{color:var(--blue);text-align:left;background:0 0;border:0;padding:0;font-weight:600}.toolbar,.tabs{justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px;display:flex}.tabs{flex-wrap:wrap;margin:0}.chosen{background:#dfeefa}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:18px;display:grid}.fields select{width:100%;margin-top:6px;display:block}.notice{background:#edf3fa;border-left:3px solid #5889b0;padding:13px 16px;font-size:14px}.muted{color:var(--muted);font-size:14px}.reply{background:#f3f7fa;border-radius:8px;padding:15px}.file{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.file span{color:var(--muted);font-size:13px}.upload{color:var(--blue);cursor:pointer}.upload input{max-width:220px;font-size:12px}.empty{text-align:center;color:var(--muted);padding:45px}.catalogue{grid-template-columns:1fr 1fr;gap:22px;display:grid}.gantt-head{background:#f2f6fa;justify-content:space-around;margin-left:35%;padding:10px;display:flex}.gantt-row{border-bottom:1px solid var(--line);grid-template-columns:35% 65%;align-items:center;padding:15px 0;font-size:13px;display:grid}.track{background:#f2f6fa}.track span{color:#fff;text-align:right;white-space:nowrap;background:#397daf;border-radius:3px;min-width:110px;padding:6px;display:block}dt{color:var(--muted);font-size:13px}dd{margin:0 0 12px}footer{color:var(--muted);justify-content:space-between;padding:20px 34px;font-size:12px;display:flex}.signin{max-width:600px;padding:80px 30px}.signin h1{margin-top:40px}.signin .button{margin:15px 0;display:inline-block}@media (max-width:1000px){.shell{grid-template-columns:195px minmax(0,1fr)}.columns{grid-template-columns:1fr}.metrics{gap:10px}.metrics article{padding:15px}.metrics strong{font-size:23px}main{padding:22px}}@media (max-width:700px){.shell{display:block}aside{padding:16px}.brand{font-size:25px}.workspace-label,.sidebar-bottom{display:none}nav{margin-top:16px;display:flex;overflow:auto}nav button{white-space:nowrap;width:auto}header{flex-wrap:wrap;padding:14px}.preview-banner{padding:8px 14px}main{padding:18px}.pagehead{align-items:flex-start}.pagehead h1{font-size:27px}.pagehead>button{padding:8px;font-size:12px}.metrics,.fields,.catalogue{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:flex-start}.panel{padding:18px}.centre{flex-wrap:wrap}footer{gap:15px;padding:20px}.file{flex-wrap:wrap}}.dps-logo{width:100%;max-width:210px;height:auto;display:block}@media (max-width:700px){.dps-logo{max-width:180px}}.dpo-tabs{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.dpo-tabs button{width:auto;color:var(--ink);border:1px solid var(--line);background:#fff;margin:0}.dpo-tabs button.chosen{background:#dfeefa;border-color:#78a5c7}.dpo-tabs button:hover{background:#eaf2f8}.request-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;display:flex}.request-actions>button{width:100%}.incident-link{color:#fff;background:#b42318;border:1px solid #b42318;border-radius:6px;padding:12px 16px;font-size:16px;text-decoration:none}.incident-link:hover{color:#fff;background:#912018;border-color:#912018}.incident-link:focus-visible{outline-offset:3px;outline:3px solid #b42318}@media (max-width:700px){.request-actions{align-items:flex-start}.request-actions .primary{font-size:13px}.pagehead{flex-wrap:wrap}}.centre-placeholder{margin-top:12px}.centre-placeholder>.badge{margin-left:auto;padding:4px 10px;font-weight:400}.dps-logo{width:180px;max-width:100%;height:auto;image-rendering:-webkit-optimize-contrast}.builder-credit{color:#c9dce9;letter-spacing:0;white-space:nowrap;margin-top:10px;font-size:12px;font-weight:400;line-height:1.4;text-decoration:none;display:block}.builder-credit:hover{color:#fff;text-decoration:underline}.builder-credit{padding-left:6px}.log-group{border-top:1px solid var(--line);padding:16px 0}.log-group summary{cursor:pointer;margin-bottom:14px;font-weight:600}.log-group .fields{margin-top:15px}.track>span{height:30px;position:relative}.track .milestone-label{white-space:nowrap;color:#17384e;min-width:125px;padding:5px;font-size:11px;position:absolute;top:0;right:0;transform:translateY(22px);background:0 0!important}.gantt-row{padding-bottom:30px}td details{max-width:300px;margin-top:8px;font-size:13px}.record-group{border:1px solid var(--line);border-radius:8px;margin:0 0 20px;padding:20px}.record-group legend{padding:0 8px;font-weight:600}.incident-notification{color:#fff;vertical-align:middle;background:#b42318;border-radius:20px;justify-content:center;align-items:center;min-width:23px;height:23px;margin-left:9px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.ai-topic-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:20px;display:grid}.ai-topic{text-align:left;white-space:normal;flex-direction:column;gap:8px;padding:18px;display:flex}.ai-topic span{font-weight:400;line-height:1.5}.ai-topic.chosen{background:#eef6fc;border-color:#126ca8}.ai-topic strong{font-size:16px}.ai-conversation{background:#eef6fc;border-left:4px solid #126ca8;border-radius:12px;margin:20px 0;padding:20px}.ai-conversation p{margin:10px 0}.document-details{border:1px solid #d9e2ec;border-radius:12px;margin-top:24px;padding:24px}.document-details>label{margin:12px 0;display:block}.document-details li{margin:10px 0}.badge.success{color:#176b35;background:#dcf3e3}.metrics article.kpi-on-track{background:#f0faf3;border-top-color:#218548}.kpi-on-track strong{color:#176b35}.kpi-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0;display:grid}.status-pie{border:1px solid #dfe7ee;border-radius:12px;margin:0;padding:20px}.status-pie figcaption{margin-bottom:16px;font-size:18px;font-weight:700}.status-pie-content{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.status-pie svg{flex-shrink:0;width:180px;height:180px}.status-pie ul{flex:1;min-width:180px;padding:0;list-style:none}.status-pie li{align-items:center;gap:8px;margin:8px 0;font-size:13px;display:flex}.status-pie li strong{margin-left:auto}.pie-key{border-radius:50%;flex-shrink:0;width:12px;height:12px}.status-pie p{color:#627587;margin:12px 0 0;font-size:13px}@media (max-width:1050px){.kpi-charts{grid-template-columns:1fr}}.kpi-entry-table td{vertical-align:top}.kpi-number>small{height:20px;margin:0 0 4px;line-height:20px;display:block}.kpi-align-spacer{visibility:hidden}.kpi-number input{width:100%;min-width:110px;height:40px;margin:0;display:block}.kpi-entry-table th:nth-child(2),.kpi-entry-table th:nth-child(3){width:17%}.compliance-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:20px;display:grid}.compliance-nav{flex-direction:column;gap:5px;padding:12px;display:flex}.compliance-nav button{text-align:left;flex-direction:column;gap:5px;padding:10px;display:flex}.compliance-nav small{font-size:11px}.compliance-requirement{border-bottom:1px solid #dce5e8;grid-template-columns:minmax(0,1fr) 165px;align-items:center;gap:20px;padding:14px 0;display:grid;font-weight:400!important}.compliance-question textarea{margin-top:8px}.compliance-review{background:#f3f7f8;border:1px solid #cbdcdf;border-radius:8px;margin:24px 0;padding:20px}.compliance-review legend{font-weight:700}.compliance-rating{color:#36454f;background:#e5e9ed;border-radius:5px;padding:7px 15px;font-weight:700;display:inline-block}.compliance-rating.green{color:#17603b;background:#d9f1e3}.compliance-rating.amber{color:#774d00;background:#fff0c9}.compliance-rating.red{color:#9e1826;background:#ffe1e2}.compliance-score{border-left:5px solid #0a6674}.compliance-score h2{margin-top:12px}.compliance small{line-height:1.5;display:block}.compliance p{line-height:1.6}.compliance .fields{margin:18px 0}.compliance label{margin:12px 0}.compliance details{margin-top:14px}.compliance-question{min-width:0}.compliance button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:1000px){.compliance-layout{grid-template-columns:1fr}.compliance-nav{max-height:230px;overflow:auto}.compliance-requirement{grid-template-columns:1fr}}button,.button,input[type=button],input[type=submit],input[type=reset]{text-transform:capitalize}
