:root{color:#1b3039;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--accent:#0a6457;--accent-hover:#075046;--muted:#566a74;--line:#dce3e7;--sidebar:#142b36;background:#f3f5f6;font-family:Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,input,select{caret-color:var(--accent)}button{cursor:pointer}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}button,a,input,select,summary{touch-action:manipulation}:focus-visible{outline-offset:3px;outline:3px solid #198bba}::selection{color:#17382f;background:#bce3d8}h1,h2,h3,p{margin:0}h1{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:1.85rem;font-weight:650;line-height:1.25}h2{font-size:1.15rem;font-weight:650;line-height:1.35}h3{font-size:1rem;font-weight:650}p{max-width:72ch}small{font-size:.8rem}img{max-width:100%;display:block}.muted{color:var(--muted)}.mobile-only{display:none}.nowrap{white-space:nowrap}.hash{overflow-wrap:anywhere;word-break:break-word;font-family:Consolas,monospace;font-size:.75rem}.sr-only{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border:1px solid var(--accent);background:#fff;border-radius:6px;padding:12px 20px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.initial-state{place-items:center;min-height:100vh;display:grid}.button{color:#29434e;white-space:nowrap;background:#fff;border:1px solid #cbd6db;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 15px;font-size:.875rem;font-weight:600;line-height:1.45;text-decoration:none;transition:background-color .15s ease-out,border-color .15s ease-out;display:inline-flex}.button:hover{color:#142b36;background:#eef3f4;border-color:#9bafb7}.button:active{background:#e1e9ec}.button.primary{color:#fff;background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button.danger{color:#fff;background:#a62f35;border-color:#a62f35}.button.danger:hover{background:#87232a;border-color:#87232a}.button.danger-outline{color:#9c3037;background:#fff;border-color:#d8a4a7}.button.danger-outline:hover{background:#fff1f1}.button.small{min-height:36px;padding:6px 12px}.button.full{width:100%}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}.text-button{min-height:40px;color:var(--accent);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:5px 8px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.text-button:hover{background:#eaf3f0;text-decoration:underline}.danger-text{color:#a02b35}.primary-link{overflow-wrap:anywhere;font-weight:600;text-decoration:none}.primary-link:hover{text-decoration:underline}.back-link{margin-bottom:18px;font-size:.875rem;display:inline-block}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{flex:0 0 40px;width:40px;height:40px}.brand strong{letter-spacing:-.025em;font-size:1.3rem;line-height:1.2;display:block}.brand small{color:#bed1d8;margin-top:4px;font-size:.75rem;font-weight:400;display:block}.login-page{background:#fff;grid-template-columns:minmax(340px,44%) 1fr;min-height:100vh;display:grid}.login-intro{color:#fff;background:var(--sidebar);flex-direction:column;justify-content:center;padding:64px max(40px,12%);display:flex}.login-intro .brand{margin-bottom:76px;font-weight:600}.login-intro h1{max-width:11ch;margin-bottom:24px;font-size:2.65rem;font-weight:600;line-height:1.14}.login-intro>p{color:#c3d3da;max-width:35ch;font-size:1rem;line-height:1.7}.login-rule{background:#6aa998;width:44px;height:2px;margin:48px 0 18px}.login-intro p.login-caption{max-width:33ch;font-size:.8rem}.login-area{place-items:center;padding:50px 36px;display:grid}.login-box{width:min(100%,390px)}.login-box h2{letter-spacing:-.02em;margin-bottom:12px;font-size:1.6rem;line-height:1.3}.login-box>p{margin-bottom:32px;font-size:.95rem}.login-box form{flex-direction:column;gap:20px;display:flex}.login-footnote{margin-top:28px;font-size:.8rem!important}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field>label,legend{color:#2c454f;font-size:.875rem;font-weight:600}.field small{line-height:1.5}input:not([type=checkbox]):not([type=file]),select{color:#1b3039;background:#fff;border:1px solid #b9c8cf;border-radius:6px;width:100%;min-height:43px;padding:9px 11px}input:hover,select:hover{border-color:#819aa6}input::placeholder{color:#647783}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:0 0 18px;margin:2px 0}input[readonly]{background:#f3f6f7!important}.form-error{color:#a02532;font-size:.875rem}.form-error:empty{display:none}.workspace{grid-template-columns:228px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#f6fafb;flex-direction:column;height:100vh;padding:30px 18px 24px;display:flex;position:sticky;top:0}.sidebar .brand{color:#fff;margin:0 8px 42px}.main-nav{flex-direction:column;gap:7px;display:flex}.main-nav a{color:#c6d6dd;border-radius:7px;align-items:center;gap:12px;min-height:46px;padding:11px 13px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.main-nav a:hover{color:#fff;background:#203e4c}.main-nav a[aria-current=page]{color:#fff;background:#2a4b58}.nav-icon{opacity:.85;flex:0 0 18px;width:18px;height:18px;display:block;position:relative}.nav-icon.documents{border:1.5px solid;border-radius:2px;flex-basis:14px;width:14px;margin:0 2px}.nav-icon.documents:before,.nav-icon.documents:after{content:"";background:currentColor;height:1.5px;position:absolute;top:6px;left:3px;right:3px}.nav-icon.documents:after{top:10px}.nav-icon.runs:before{content:"";background:currentColor;width:16px;height:2px;position:absolute;top:3px;left:1px;box-shadow:0 5px,0 10px}.nav-icon.admin{border:1.5px solid;border-radius:50%;flex-basis:9px;width:9px;height:9px;margin:0 4.5px 7px}.nav-icon.admin:after{content:"";border:1.5px solid;border-bottom:0;border-radius:7px 7px 0 0;width:16px;height:7px;position:absolute;top:10px;left:-5px}.sidebar-note{color:#b7cbd4;border-top:1px solid #36515e;margin-top:auto;padding:18px 12px 0;font-size:.75rem;line-height:1.6}.sidebar-note strong{color:#e4edf0;margin-bottom:8px;font-weight:500;display:block}.workspace-area{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:84px;padding:16px 36px;display:flex}.workspace-label{color:#435d69;font-size:.875rem;font-weight:600}.account{align-items:center;gap:20px;display:flex}.account-identity{text-align:right;flex-direction:column;min-width:0;display:flex}.account-identity strong{text-overflow:ellipsis;max-width:280px;font-size:.8rem;font-weight:600;overflow:hidden}.account-identity span{color:var(--muted);font-size:.75rem}.main-content{width:100%;max-width:1600px;min-height:calc(100vh - 140px);margin:0 auto;padding:34px 36px 16px}.main-content:focus{outline:none}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.page-heading p{margin-top:9px;font-size:.9rem}.page-heading .toolbar{flex:none}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:24px;overflow:hidden}.section-heading{padding:23px 24px 19px}.section-heading p{margin-top:6px;font-size:.85rem}.panel>p,.panel>.facts,.panel>.file-facts,.panel>.check-row,.panel>.count-item{margin:0 24px 22px}.drop-zone{background:#f9fbfb;border:1px dashed #9db6c0;border-radius:8px;align-items:center;gap:18px;margin:0 24px 24px;padding:25px;display:flex}.drop-zone strong{font-size:.9rem;font-weight:600}.drop-zone p{color:var(--muted);margin-top:3px;font-size:.8rem}.drop-zone .button{margin-left:auto}.drop-zone.drag-over{border-color:var(--accent);background:#e7f4ef}.drop-zone:focus-within{outline-offset:2px;outline:3px solid #198bba}.file-picker{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.file-picker:disabled+label{opacity:.55;cursor:not-allowed}.upload-icon{border:1.7px solid #6f8b96;border-radius:3px;flex:0 0 28px;width:28px;height:31px;position:relative}.upload-icon:before{content:"";border-top:1.7px solid #6f8b96;border-left:1.7px solid #6f8b96;width:8px;height:8px;position:absolute;top:9px;left:8px;transform:rotate(45deg)}.upload-icon:after{content:"";background:#6f8b96;width:1.7px;height:12px;position:absolute;top:9px;left:12px}.selected-files{margin:0;padding:0 24px;list-style:none}.selected-files li{border-top:1px solid #e6ecef;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;display:flex}.selected-files li>div{min-width:0}.selected-files strong{overflow-wrap:anywhere;font-size:.85rem;font-weight:600;display:block}.upload-footer{align-items:center;gap:12px;padding:16px 24px 22px;display:flex}.upload-footer p{color:var(--muted);margin-right:auto;font-size:.8rem}.inline-note{color:#455f6a;background:#f0f5f6;border-radius:6px;padding:14px 16px;font-size:.85rem}.upload-results{border-top:1px solid var(--line);background:#f7faf9;padding:22px 24px}.upload-results ul{margin:12px 0 0;padding:0;list-style:none}.upload-results li{flex-wrap:wrap;align-items:baseline;gap:12px;padding:8px 0;font-size:.8rem;display:flex}.upload-results strong{overflow-wrap:anywhere}.upload-results li a{margin-left:auto}.upload-success>span{color:#386450}.upload-failure>span{color:#a02532}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}th{color:#5b717c;white-space:nowrap;background:#f7f9fa;border-top:1px solid #e7ecef;border-bottom:1px solid #e7ecef;padding:12px 24px;font-size:.72rem;font-weight:600}td{vertical-align:middle;border-bottom:1px solid #e7ecef;padding:17px 24px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfd}td:last-child{text-align:right}.document-name{flex-direction:column;gap:5px;min-width:170px;max-width:480px;display:flex}.document-name>strong{overflow-wrap:anywhere;font-size:.85rem;font-weight:600}.document-name>small{overflow-wrap:anywhere;font-size:.75rem}.run-reason{color:#796029;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.badge{white-space:nowrap;border-radius:5px;align-items:center;min-height:25px;padding:3px 8px;font-size:.72rem;font-weight:600;line-height:1.4;display:inline-flex}.badge.info{color:#205974;background:#e8f1f6}.badge.success{color:#256044;background:#e6f2e9}.badge.warning{color:#805817;background:#fbf0d9}.badge.danger{color:#9a3038;background:#fce9eb}.badge.neutral{color:#526975;background:#edf1f3}.empty-state{padding:28px 24px 40px}.empty-state h3{color:#354e5a;margin-bottom:8px}.empty-state p{font-size:.875rem}.pagination{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.pagination p{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:auto;font-size:.8rem}.detail-layout{grid-template-columns:minmax(0,1fr) 280px;gap:24px;display:grid}.content-stack,.detail-aside{min-width:0}.detail-aside .panel{background:#fbfcfc}.detail-aside .section-heading{padding-bottom:14px}.detail-aside p{font-size:.85rem}.facts{gap:5px;font-size:.8rem;display:grid}.facts dt{color:#617581;margin-top:12px}.facts dt:first-child{margin-top:0}.facts dd{color:#293f4a;overflow-wrap:anywhere;margin:0}.file-facts{border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer;color:var(--accent);min-height:28px;font-size:.8rem;font-weight:500}details .facts{margin-bottom:0}.file-facts code{margin-top:10px;display:block}.cargo-options{border-block:1px solid #edf1f3;max-height:340px;padding:0 24px;overflow:auto}.check-row{cursor:pointer;align-items:flex-start;gap:10px;min-height:42px;padding:10px 0;font-size:.85rem;display:flex}.check-row span{overflow-wrap:anywhere}.panel>.form-actions{padding:16px 24px 24px}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;display:flex}.form-actions p{color:var(--muted);margin-right:auto;font-size:.8rem}.toolbar{flex-wrap:wrap;gap:10px;display:flex}.run-summary{background:#edf4f7;border:1px solid #cddce3;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px;padding:24px;display:flex}.run-summary.warning{background:#fffbf1;border-color:#e4d4af}.run-summary.danger{background:#fff6f6;border-color:#e8cbd0}.run-summary.success{background:#f0f8f3;border-color:#c3ddcf}.run-summary.neutral{background:#edf1f3}.run-summary h2{margin:11px 0 8px;font-size:1.3rem}.run-summary p{color:#46616e;font-size:.85rem}.summary-actions{flex:none}.phase-list{grid-template-columns:1fr 1fr;gap:0 24px;margin:0 24px 22px;padding:0;list-style:none;display:grid}.phase-list li{color:#5d737e;align-items:center;gap:10px;min-height:35px;font-size:.8rem;display:flex}.phase-list .current{color:#135e53;font-weight:650}.phase-dot{border:1px solid #9db1bb;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.current .phase-dot{background:var(--accent);border-color:var(--accent)}.progress-counts{color:#526b77;background:#fafcfc;border-top:1px solid #e7ecef;flex-wrap:wrap;gap:8px 16px;padding:16px 24px;font-size:.8rem;display:flex}.count-item{font-variant-numeric:tabular-nums}.event-list{margin:0;padding:0 24px 16px;list-style:none}.event-list li{border-top:1px solid #e7ecef;grid-template-columns:125px minmax(0,1fr);gap:20px;padding:15px 0;display:grid}.event-list time{color:#607680;font-variant-numeric:tabular-nums;padding-top:2px;font-size:.75rem}.event-list strong{font-size:.85rem;font-weight:600}.event-list p{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:.8rem}.event-list+.button{margin:0 24px 24px}.admin-create{border-top:1px solid var(--line);padding:18px 24px}.admin-create>summary{min-height:34px;font-size:.875rem;font-weight:600}.admin-form{grid-template-columns:1.2fr 1.2fr 1fr;align-items:start;gap:20px;padding-top:18px;display:grid}.admin-form>button{grid-column:1/-1;justify-self:start}.key-form{grid-template-columns:1.4fr 1fr;gap:22px;max-width:700px;padding-top:18px;display:grid}.key-form fieldset,.key-form .form-error,.key-form>button{grid-column:1/-1}.key-form>button{justify-self:start}fieldset{border:1px solid var(--line);border-radius:6px;min-width:0;margin:0;padding:8px 16px}legend{padding:0 7px}.notices{max-width:1600px;margin:0 auto}.notice{color:#255c43;background:#edf8f1;border:1px solid #b9d9c8;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;margin:20px 36px 0;padding:15px 18px;font-size:.875rem;display:flex}.notice.danger{color:#922b35;background:#fff0f1;border-color:#e6bcc1}.notice.warning{color:#775117;background:#fff9e9;border-color:#e4d1a7}.notice.info{color:#305f73;background:#eef6fb;border-color:#bfd5e1}.notice .text-button{color:inherit;margin-top:-7px;margin-right:-7px}.notice details{margin-top:8px}.notice summary{color:inherit}.notice code{display:block}.sync-state{color:#617680;font-variant-numeric:tabular-nums;max-width:1600px;margin:0 auto;padding:0 36px 26px;font-size:.72rem}.modal{color:#1b3039;background:#fff;border:0;border-radius:12px;width:min(620px,100vw - 32px);max-height:calc(100dvh - 40px);padding:0;box-shadow:0 16px 64px #071c3240}.modal::backdrop{background:#102c4070}.modal-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.modal-heading h2{overflow-wrap:anywhere}.modal-body{padding:24px}.modal-body>p{margin-bottom:22px;font-size:.875rem}.modal-body form{flex-direction:column;gap:20px;display:flex}.modal .form-actions{margin-bottom:0}.modal input[data-secret]{font-family:Consolas,monospace;font-size:.8rem}.modal-body>.form-actions+p{margin:16px 0 0}.skeleton{background:#e9eef0;border-radius:12px;height:180px}@media (min-width:1600px){.main-content{padding-top:42px}}@media (max-width:1190px){.workspace{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding-inline:12px}.main-content,.topbar{padding-inline:25px}.detail-layout{grid-template-columns:minmax(0,1fr)}.detail-aside{grid-template-columns:1fr 1fr;gap:24px;display:grid}th,td{padding-inline:20px}.notice{margin-inline:25px}.sync-state{padding-inline:25px}.page-heading .toolbar{flex-shrink:1;justify-content:flex-end}}@media (max-width:800px){.workspace{display:block}.sidebar{height:auto;padding:18px 20px 0;position:static}.sidebar .brand{margin:0 0 17px}.sidebar .brand-mark{flex-basis:32px;width:32px;height:32px}.sidebar .brand strong{font-size:1.15rem}.sidebar .brand small{display:none}.main-nav{flex-direction:row;gap:4px;margin-inline:-8px;padding-bottom:8px;overflow-x:auto}.main-nav a{white-space:nowrap;gap:8px;min-height:42px;padding:9px 12px;font-size:.8rem}.sidebar-note{display:none}.topbar{min-height:70px;padding:13px 22px}.workspace-label{font-size:.8rem}.account{gap:14px}.account-identity strong{max-width:220px}.main-content{padding:28px 22px 12px}h1{font-size:1.6rem}.page-heading{gap:16px;margin-bottom:22px}.page-heading p{font-size:.85rem}.drop-zone{gap:15px;padding:22px 18px}.drop-zone .upload-icon{display:none}.login-page{grid-template-columns:37% 1fr}.login-intro{padding:36px 26px}.login-intro .brand{margin-bottom:48px;font-size:.875rem}.login-intro h1{font-size:2rem}.login-intro>p{font-size:.875rem}.login-area{padding-inline:28px}.login-box h2{font-size:1.35rem}.admin-form{grid-template-columns:1fr 1fr}.run-summary{flex-direction:column;align-items:flex-start;gap:18px}.summary-actions{width:100%}.notice{margin-inline:22px}.sync-state{padding-inline:22px}}@media (max-width:540px){.mobile-only{display:block}.documents-table table,.runs-table table{table-layout:fixed}.documents-table th:nth-child(2),.documents-table td:nth-child(2),.documents-table th:nth-child(4),.documents-table td:nth-child(4),.runs-table th:nth-child(n+3),.runs-table td:nth-child(n+3){display:none}.documents-table th:first-child,.runs-table th:first-child{width:60%}.documents-table th:nth-child(3),.runs-table th:nth-child(2){width:40%}.documents-table .document-name,.runs-table .document-name{width:100%;min-width:0}.documents-table .badge,.runs-table .badge{white-space:normal}.login-page{display:block}.login-intro{padding:23px 25px}.login-intro .brand{margin:0}.login-intro .brand-mark{flex-basis:32px;width:32px;height:32px}.login-intro h1,.login-intro>p,.login-rule{display:none}.login-area{padding:48px 25px;display:block}.login-box{margin:0 auto}.login-box h2{font-size:1.5rem}.sidebar{padding-inline:16px}.nav-icon{display:none!important}.main-nav a{padding-inline:10px;font-size:.79rem}.topbar{padding:12px 18px}.workspace-label{display:none}.account{justify-content:space-between;width:100%}.account-identity{text-align:left}.account-identity strong{max-width:245px}.main-content{padding:25px 16px 10px}.page-heading{flex-wrap:wrap;gap:15px}.page-heading>.button{min-height:38px;padding-block:7px}.page-heading .toolbar{justify-content:flex-start}h1{font-size:1.5rem}.section-heading{padding:21px 18px 17px}h2{font-size:1.05rem}.panel{margin-bottom:20px}.drop-zone{text-align:center;flex-direction:column;gap:14px;margin:0 18px 20px;padding:22px 16px}.drop-zone .button{width:100%;margin-left:0}.selected-files{padding-inline:18px}.upload-footer{flex-wrap:wrap;padding-inline:18px}.upload-footer p{flex:0 0 100%;margin-bottom:3px}.upload-footer .button{flex:1}.upload-results{padding:20px 18px}.upload-results li{flex-direction:column;align-items:flex-start;gap:4px;margin-top:12px}.upload-results li a{margin-left:0}th,td{padding-inline:18px}.empty-state{padding:22px 18px 30px}.panel>p,.panel>.facts,.panel>.file-facts,.panel>.check-row{margin-inline:18px}.pagination{flex-wrap:wrap;padding:14px 18px}.pagination p{flex:0 0 100%}.detail-aside{display:block}.run-summary{padding:20px}.run-summary h2{font-size:1.15rem}.summary-actions .button{width:100%}.phase-list{grid-template-columns:1fr;margin-inline:18px}.progress-counts,.event-list{padding-inline:18px}.event-list li{grid-template-columns:1fr;gap:6px}.admin-create{padding-inline:18px}.admin-form,.key-form{grid-template-columns:1fr}.key-form>*{grid-column:1!important}.cargo-options,.panel>.form-actions{padding-inline:18px}.notice{margin:18px 16px 0;padding:14px}.sync-state{padding-inline:16px}.modal-heading,.modal-body{padding:20px}.modal .form-actions{justify-content:stretch}.modal .form-actions .button{flex-grow:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
