:root{--navy:#142c38;--navy-light:#203d49;--ink:#1c303a;--muted:#60737c;--surface:#fff;--canvas:#f3f6f6;--line:#dde6e8;--accent:#087e78;--accent-dark:#07615d;--accent-soft:#e0f1ed;--danger:#9c3336;--warning:#835900;--radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.55}a{color:var(--accent-dark);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{ -webkit-tap-highlight-color:transparent}a,button,input,select,textarea,summary{outline-offset:4px}:focus-visible{outline:3px solid #bc6b16}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:700}h2{font-size:19px;letter-spacing:-.3px;line-height:1.35}h3{font-size:15px;line-height:1.4}p+p{margin-top:8px}button{cursor:pointer}.skip-link{position:fixed;top:-100px;left:12px;z-index:10;background:white;padding:12px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-body{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#e7eff1;display:flex;flex-direction:column;padding:31px 20px 24px;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;color:inherit;font-size:21px;font-weight:700;text-decoration:none;letter-spacing:-.5px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.3px;color:#aec2ca;margin-top:3px}.brand-mark{flex:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid #78b2ac;border-radius:10px;color:#b2ebe0;font-size:19px;letter-spacing:-5px;padding-right:5px}.brand-mark span{display:inline;margin-top:-32px;margin-left:12px;font-size:14px}.navigation{margin-top:46px}.navigation summary{display:none}.navigation:not([open]) summary{display:block;cursor:pointer}.navigation nav{display:grid;gap:5px}.navigation nav a{display:block;border-radius:7px;padding:11px 15px;color:#c7d6db;text-decoration:none;font-weight:500}.navigation nav a:hover{background:var(--navy-light);color:white}.navigation nav a[aria-current]{background:#25494f;color:#d5fff1;box-shadow:inset 3px 0 #7cd1bd}.sidebar-bottom{margin-top:auto;padding:36px 12px 0;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}.sidebar-bottom strong{margin-bottom:9px}.sidebar-bottom small{color:#b2c4cc}.sidebar-bottom .eyebrow{color:#a7bcc4}.logout{border:0;background:transparent;padding:0;color:#bcced5;margin-top:19px;text-decoration:underline;font-size:12px}.workspace{margin-left:248px;padding:42px 40px 64px;width:calc(100% - 248px);min-width:0;max-width:1900px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.page-header>.button{margin-top:24px;flex-shrink:0}.lede{margin-top:13px;color:var(--muted);font-size:14px;max-width:790px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;gap:8px;padding:10px 17px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:white;font-weight:600;font-size:13px;text-decoration:none;line-height:1.45}.button:hover{background:var(--accent-dark);border-color:var(--accent-dark);text-decoration:none}.button-secondary{background:white;border-color:#c6d5d9;color:var(--ink)}.button-secondary:hover{background:#edf4f3;border-color:#9cafb6}.button-full{width:100%}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:24px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.section-heading>.button{flex-shrink:0}.section-heading>a{font-size:12px;white-space:nowrap}.section-heading p{margin-top:5px;font-size:12px}.section-heading h3+p{margin-top:5px}.padded{padding:25px 25px 0}.muted,.table-description,.field-help{color:var(--muted);font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:25px}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:white;padding:19px 20px 16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:10px}.stat-card:hover{border-color:#8db4b0;text-decoration:none}.stat-card>span{font-size:12px;color:var(--muted);min-height:38px}.stat-card strong{font-size:35px;font-weight:600;line-height:1}.stat-card small{font-size:10px;color:var(--muted);margin-top:5px}.stat-danger strong{color:var(--danger)}.stat-warning strong{color:var(--warning)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dashboard-grid .panel{margin-bottom:24px}.list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:19px 0;border-top:1px solid var(--line)}.list-item:last-child{padding-bottom:0}.item-title{font-weight:600;text-decoration:none;color:var(--ink)}.item-title:hover{color:var(--accent-dark)}.list-item p{font-size:12px;margin-top:4px;color:var(--muted)}.badge{display:inline-block;font-size:11px;font-weight:600;line-height:1.4;border-radius:5px;padding:4px 8px;background:#edf1f3;color:#50646e;white-space:nowrap}.badge-active,.badge-passed,.badge-resolved,.badge-completed,.badge-success{background:#e2f3eb;color:#21654d}.badge-warning,.badge-high,.badge-maintenance,.badge-open{background:#fff0d5;color:#805600}.badge-failed,.badge-critical,.badge-danger{background:#fbe7e7;color:#963638}.badge-in_progress,.badge-planned{background:#e8f0fa;color:#365a85}.badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.page-header .badge-row{margin-top:18px}.empty-state{text-align:center;padding:30px 20px 38px;color:var(--muted)}.empty-state h3{color:var(--ink);margin-bottom:7px}.empty-state p{max-width:430px;margin:0 auto;font-size:12px}.empty-marker{display:grid;place-items:center;margin:0 auto 13px;width:39px;height:39px;border-radius:50%;background:#f0f5f4;font-size:23px;color:#8ba6a2}.empty-inline{padding:16px 0;color:var(--muted);font-size:13px}.welcome{padding:30px;background:#eaf4f0;border-color:#cce1d8}.welcome p:not(.eyebrow){max-width:650px;margin:10px 0 19px}.table-panel{padding:0;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{background:#f8fafb;font-weight:500;font-size:11px;color:var(--muted);padding:13px 22px;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:19px 22px;vertical-align:top;border-bottom:1px solid #e9eeee}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfd}.table-description{margin-top:6px;max-width:380px;overflow-wrap:anywhere}.nowrap{white-space:nowrap}.filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;padding:20px}.filters>div{flex:1;min-width:135px}.filters>div:first-child{flex:1.5}.filters>a{align-self:center;margin-top:24px;font-size:12px}label,.field-label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}input,textarea,select{background:white;border:1px solid #bbccd2;border-radius:6px;padding:10px 12px;min-height:42px;max-width:100%;color:var(--ink)}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{width:100%}input::placeholder,textarea::placeholder{color:#72858e}textarea{min-height:118px;resize:vertical}select[multiple]{min-height:145px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--accent);vertical-align:middle;margin:0 8px 0 0}input[type=checkbox]+label,input[type=radio]+label{display:inline;font-weight:400;vertical-align:middle}input[type=file]{font-size:12px}input[type=file]::file-selector-button{border:0;background:#eaf1f2;padding:7px 10px;border-radius:4px;margin-right:12px;color:var(--ink)}.form-panel{max-width:820px;padding:30px}.form-row{margin-bottom:23px}.form-row .form-row:last-child{margin-bottom:0}.form-row>div:not(.field-help){margin-top:7px}.field-help{margin-top:7px}.required:after{content:' *';color:var(--accent)}.form-errors{padding:0;list-style:none;color:var(--danger);font-size:12px;margin:8px 0}.has-error input,.has-error select,.has-error textarea{border-color:var(--danger)}.form-actions{border-top:1px solid var(--line);margin-top:30px;padding-top:23px;display:flex;gap:12px}.back-link{display:inline-block;margin-bottom:23px;font-size:12px;text-decoration:none}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 5px}.detail-grid dt{font-size:11px;color:var(--muted);margin-bottom:7px}.detail-grid dd{margin:0;overflow-wrap:anywhere;font-size:13px}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.section-nav{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow-x:auto;margin:0 0 25px}.section-nav a{font-size:13px;color:var(--muted);text-decoration:none;padding:14px 0;white-space:nowrap}.section-nav a:hover{color:var(--accent)}section[id]{scroll-margin-top:20px}.environment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.environment-card{background:#f7fafa;border:1px solid #e3ebeb;border-radius:8px;padding:18px;overflow-wrap:anywhere}.environment-card .section-heading{margin-bottom:12px}.environment-card p{font-size:12px}.history-item{padding:24px 0;border-top:1px solid var(--line)}.history-item:first-child{border-top:0;padding-top:0}.history-item:last-child{padding-bottom:0}.history-item .section-heading{margin-bottom:13px}.row-actions{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px;margin-top:8px}.history-item .row-actions,.text-action{margin-top:22px}.text-action{display:inline-block;font-size:12px}.resolution{border-left:3px solid #78bba2;background:#f2f8f5;padding:14px 18px;margin-top:18px;font-size:12px}.resolution p{margin-top:5px}.file-list{list-style:none;padding:0;margin:0}.file-list li{padding:15px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;overflow-wrap:anywhere}.file-list li span{flex-shrink:0}.notice{border:1px solid #b9d9d0;border-radius:8px;background:#e6f3ed;padding:15px 20px;margin-bottom:22px;color:#1f614b;font-size:13px}.notice-error{border-color:#e5b7b7;background:#fff0ef;color:#963638}.align-right{text-align:right}.auth-body{min-height:100vh;background:var(--navy)}.auth-main{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1120px;margin:0 auto;padding:80px 30px;align-items:center;min-height:100vh}.auth-main>.notice{grid-column:1/-1}.auth-intro{color:#e1ebee}.auth-intro .brand{margin-bottom:70px;color:white}.auth-intro .eyebrow{color:#98c8be}.auth-intro h1{font-size:42px;line-height:1.2;color:white;margin-bottom:25px}.auth-intro>p:last-child{max-width:360px;color:#b5cbd2;line-height:1.8}.auth-card{padding:34px;margin:0}.auth-card h2{margin-bottom:10px}.auth-card>p.muted{margin-bottom:27px}.auth-card form{margin-top:25px}.card-actions{margin-top:20px}.auth-footer{padding-top:22px;margin-top:25px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
@media(min-width:1600px){.workspace{padding-left:55px;padding-right:55px}.stat-card{padding:23px 26px}.page-header{margin-bottom:36px}}
@media(max-width:1200px){.sidebar{width:216px;padding-left:15px;padding-right:15px}.workspace{margin-left:216px;width:calc(100% - 216px);padding:30px 25px}.brand{font-size:19px;gap:9px}.stat-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{padding:16px 13px}.dashboard-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.environment-grid{grid-template-columns:1fr 1fr}.section-heading{flex-wrap:wrap}}
@media(max-width:850px){.app-body{display:block}.sidebar{position:relative;width:100%;padding:18px 22px;overflow:visible;display:grid;grid-template-columns:1fr auto;gap:15px}.sidebar .brand{font-size:20px}.navigation{margin:0;align-self:center}.navigation summary{display:block;cursor:pointer;font-size:12px;border:1px solid #53717d;padding:8px 13px;border-radius:6px}.navigation nav{margin-top:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.navigation[open]{grid-column:1/-1;grid-row:2}.navigation[open] summary{width:max-content}.navigation nav a{font-size:12px;padding:9px 12px}.sidebar-bottom{display:none}.workspace{margin:0;padding:28px 22px;width:100%}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card>span{min-height:0}.page-header>.button{margin-top:10px}.auth-main{gap:35px}.auth-intro h1{font-size:32px}.auth-card{padding:27px}.auth-intro .brand{margin-bottom:40px}}
@media(max-width:600px){h1{font-size:27px}.workspace{padding:25px 16px 40px}.page-header{flex-direction:column;gap:15px;margin-bottom:23px}.page-header>.button{margin:0}.panel{padding:19px;margin-bottom:18px}.table-panel{padding:0}.padded{padding:19px 19px 0}.section-heading{gap:13px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.stat-card strong{font-size:30px}.dashboard-grid{gap:0}.dashboard-grid .panel{margin-bottom:18px}.detail-grid,.environment-grid{grid-template-columns:1fr}.detail-grid{gap:17px}.filters{gap:14px}.filters>div{min-width:calc(50% - 14px)}.filters>div:first-child{flex-basis:100%}.filters>a{margin:0}.section-nav{gap:21px}.file-list li{display:block}.file-list li span{display:block;margin-top:6px}.list-item{gap:12px;flex-wrap:wrap}.list-item>.align-right{text-align:left}.badge-row{gap:6px}.form-panel{padding:22px 19px}.auth-main{display:block;min-height:100vh;padding:30px 19px}.auth-intro .brand{margin-bottom:25px}.auth-intro .eyebrow{margin-bottom:10px}.auth-intro h1{font-size:31px;margin-bottom:15px}.auth-intro>p:last-child{margin-bottom:25px;max-width:none;font-size:13px}.auth-card{padding:25px}.navigation nav{grid-template-columns:repeat(2,minmax(0,1fr))}th,td{padding-left:17px;padding-right:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.sidebar,.skip-link,.button,.filters,.row-actions,.section-nav,.back-link{display:none!important}.workspace{margin:0;width:100%;padding:0}.panel{break-inside:avoid}.table-scroll{overflow:visible}body{background:white}.stat-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:850px){.sidebar-bottom{display:grid;grid-column:1/-1;grid-template-columns:1fr auto;padding:12px 0 0;margin:0;border-top:1px solid #35505d;gap:3px 15px}.sidebar-bottom>.eyebrow,.sidebar-bottom>strong{display:none}.sidebar-bottom>span{font-size:12px}.sidebar-bottom>small{grid-column:1;font-size:10px}.sidebar-bottom>form{grid-column:2;grid-row:1/3;align-self:center}.logout{margin:0;font-size:11px}}
/* Long user-entered names (systems, products, URLs) must wrap instead of widening the page. */
.page-header>div,.section-heading>div,.list-item>div,.file-list li>*{min-width:0}
h1,h2,h3,.item-title,.lede,.eyebrow,.list-item p,.history-item p,label{overflow-wrap:anywhere}
/* Contain absolutely positioned .sr-only cells so wide tables scroll inside their region, not the page. */
.table-scroll{position:relative}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--line);font-size:12px}.pagination span{color:var(--muted)}
@media(max-width:600px){.section-nav{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:24px}.section-nav.is-scrolled-end{-webkit-mask-image:none;mask-image:none}}
/* Redaction mark (MVP-010): visible in place of a removed file or text, never as a link to content. */
.redacted-note{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.redacted-note strong{color:var(--ink);font-weight:600}.file-list .redacted-note .form-errors{margin:6px 0 0}
/* Work lists (MVP-012): GET filters, due reasons, pagination outside tables. */
.filters>div.filter-check{flex:0 1 auto;min-width:0;display:flex;align-items:center;min-height:42px}.filter-check label{margin:0}
.filters-inline{padding:0 0 22px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.due-reason{display:block;margin-top:6px;font-size:12px;color:var(--muted)}.due-reason.due-danger,.due-danger{color:var(--danger);font-weight:600}.due-reason.due-warning{color:var(--warning)}
.panel:not(.table-panel)>.pagination{padding:16px 0 0;margin-top:24px}
.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.filter-tabs a{font-size:12px;padding:8px 13px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);text-decoration:none}.filter-tabs a[aria-current=page]{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft);font-weight:600}
@media(max-width:600px){.filters>div.filter-check{min-width:0;flex-basis:100%}.pagination{flex-wrap:wrap}}
