:root{--ink:#182536;--muted:#778393;--line:#e4e9ef;--bg:#f6f8fb;--blue:#285bd6;--nav:#111e2d;--green:#18916a;--red:#cb4b55}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:14px;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.hidden{display:none!important}.auth-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#dce8ff,transparent 32%),#f5f7fa;padding:25px}.auth-card{width:min(100%,450px);background:#fff;padding:47px 43px;border:1px solid #e5ebf5;border-radius:18px;box-shadow:0 22px 75px #16305e18}.mark,.brand-mark{display:grid;place-items:center;background:#285bd6;color:white;border-radius:12px;font-weight:800}.mark{width:48px;height:48px;font-size:28px;margin-bottom:25px}.eyebrow{font-weight:750;color:#5072b5;letter-spacing:1.45px;font-size:10px}.auth-card h1{margin:13px 0;font-size:29px;letter-spacing:-1.1px}.auth-card h1 span{font-weight:450}.auth-card p{line-height:1.6;color:var(--muted);margin-bottom:29px}.auth-card label,.field-label{display:block;font-size:12px;font-weight:700;margin:17px 0;color:#405064}.auth-card input,.input,.select{display:block;width:100%;background:#fff;border:1px solid #dfe6ed;border-radius:9px;padding:12px 13px;margin-top:8px;outline:none;color:#162537}.auth-card input:focus,.input:focus,.select:focus,.editor:focus{border-color:#6a8fe8;box-shadow:0 0 0 3px #285bd613}.primary,.secondary,.danger,.subtle{border-radius:9px;padding:11px 16px;border:1px solid transparent;font-weight:700;white-space:nowrap}.primary{background:var(--blue);color:#fff}.primary:hover{background:#1748bf}.secondary{background:white;color:#344760;border-color:#dce3eb}.secondary:hover{background:#f3f6fc}.danger{background:#fff0f1;color:var(--red)}.subtle{background:#eef3fe;color:#2b5dc8}.auth-card .primary{width:100%;margin-top:14px;padding:13px}.text-btn{display:block;background:none;border:0;color:#285bd6;margin:19px auto 5px;font-weight:700}.auth-note{margin-top:26px;color:#9aa6b3;text-align:center;font-size:11px}.app{display:flex;min-height:100vh}.sidebar{width:260px;flex-shrink:0;background:var(--nav);color:#c0cad5;display:flex;flex-direction:column;padding:27px 14px}.brand{display:flex;align-items:center;gap:12px;padding:0 13px 43px;color:#fff;font-size:21px;letter-spacing:1px}.brand-mark{height:37px;width:37px;font-size:24px}.brand small{display:block;font-size:9px;letter-spacing:2.4px;color:#8291a6;margin-top:3px}.nav-caption{color:#68788c;font-size:10px;font-weight:750;letter-spacing:1.6px;padding:0 13px 13px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:0;background:none;color:#aab9c9;border-radius:9px;padding:13px;margin-bottom:5px;font-size:12px;font-weight:650}.nav-item span{font-size:20px;font-weight:400}.nav-item.active{background:#253851;color:#fff}.nav-item:hover:not(.active){background:#1c2d41}.side-spacer{flex:1}.sidebar-note{display:flex;gap:9px;margin:30px 6px 18px;padding:14px 12px;border:1px solid #344559;border-radius:10px;font-size:11px}.note-dot,.online-dot{width:7px;height:7px;background:#31b98e;border-radius:50%;flex-shrink:0;margin-top:5px}.sidebar-note b{color:#d9e3ed}.sidebar-note p{color:#8797aa;line-height:1.6;margin:6px 0 0}.profile{display:flex;gap:10px;align-items:center;text-align:left;padding:16px 12px;background:none;color:#fff;border:0;border-top:1px solid #2a394a}.profile>span:first-child,.user-badge{width:32px;height:32px;border-radius:50%;background:#384a65;display:grid;place-items:center;color:#e9f0fd;font-weight:800}.profile small{display:block;color:#8496ac;font-size:11px;margin-top:3px}.main{flex:1;min-width:0}.topbar{height:72px;padding:0 42px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.crumb{font-size:10px;color:#8995a3;letter-spacing:1px;font-weight:750}.crumb span{margin-left:9px;color:#31435a}.topright{font-size:11px;color:#7b8898;display:flex;gap:9px;align-items:center}.online-dot{margin:0}.user-badge{margin-left:17px;background:#eaf0ff;color:#3364c8}.content{max-width:1390px;margin:auto;padding:42px}.heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px}.heading h2{font-size:31px;letter-spacing:-1px;margin:10px 0}.heading p{margin:0;color:var(--muted);line-height:1.6}.heading-actions{display:flex;align-items:center;gap:9px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat,.panel,.check-card,.empty,.list-row{background:#fff;border:1px solid var(--line);border-radius:12px}.stat{padding:23px}.stat .stat-label{color:#758497;font-size:11px;font-weight:700;letter-spacing:.4px}.stat strong{font-size:30px;display:block;margin-top:10px;letter-spacing:-1px}.stat .sub{font-size:11px;color:#9aa5b3;margin-top:8px}.panel{overflow:hidden;margin-bottom:19px}.panel-top{padding:18px 21px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-title{font-weight:750;font-size:15px}.search{border:1px solid var(--line);border-radius:8px;padding:10px 13px;min-width:220px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th{background:#f8fafc;color:#7d8998;font-size:10px;letter-spacing:.8px;text-align:left;padding:14px 20px}td{padding:17px 20px;border-top:1px solid #edf0f4;vertical-align:middle}td .small{font-size:11px;color:#9aa6b1;margin-top:5px}.table-title{font-weight:700}.actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.icon-btn{border:0;background:transparent;color:#64748b;padding:7px 9px;border-radius:7px}.icon-btn:hover{background:#edf2fa}.pill{display:inline-block;padding:5px 9px;background:#eef5ff;color:#396ac9;border-radius:20px;font-size:11px;font-weight:700}.pill.ok{background:#e7f7f0;color:#138460}.progress{height:7px;border-radius:8px;background:#e9eef5;overflow:hidden;margin:9px 0}.progress>div{background:#2e69de;height:100%;border-radius:8px}.empty{text-align:center;padding:66px 30px;color:#8290a0}.empty .glyph{font-size:40px;color:#a4b8d8}.empty h3{color:#243347;margin:14px 0 8px}.empty p{max-width:440px;margin:0 auto 20px;line-height:1.6}.source-label{padding:16px 20px;background:#f8faff;border-bottom:1px solid #e5eaf4;color:#34517a;font-weight:800}.req-row{display:grid;grid-template-columns:66px minmax(0,1fr) 108px;gap:15px;padding:20px;border-bottom:1px solid #edf0f4}.req-row:last-child{border-bottom:0}.req-id{font-weight:750;color:#315dc0}.req-content{line-height:1.65;overflow-wrap:anywhere}.req-content p{margin:0 0 7px}.req-comment{color:#7b889b;margin-top:8px;font-size:12px}.req-comment:not(:empty){border-left:2px solid #d7e0f2;padding-left:10px}.req-image{width:80px;height:64px;object-fit:cover;border:1px solid var(--line);border-radius:7px;margin:8px 6px 0 0;cursor:zoom-in}.checks-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:19px}.checks-toolbar .search{flex:1;min-width:165px}.segmented{display:flex;gap:4px;padding:4px;background:#eaf0f7;border-radius:10px}.segmented button{border:0;border-radius:7px;background:transparent;padding:8px 11px;font-size:11px;font-weight:700;color:#6d7d8e}.segmented button.selected{background:#fff;box-shadow:0 2px 5px #1b2d4513;color:#315ac0}.check-card{display:flex;gap:15px;align-items:flex-start;padding:19px;margin-bottom:10px}.check-no{color:#3769bf;font-weight:800;min-width:35px}.check-body{flex:1;min-width:0;line-height:1.65}.check-section{font-size:10px;font-weight:800;letter-spacing:.7px;color:#95a2b1;text-transform:uppercase;margin-bottom:6px}.check-actions{display:flex;gap:7px;flex-wrap:wrap}.check-actions button{font-size:11px;padding:9px 11px}.tag-done{color:#168663;background:#e9f8f2}.tag-na{color:#8c6a30;background:#fff5df}.tag-done,.tag-na{padding:6px 9px;border-radius:8px;font-size:11px;font-weight:800}.modal{position:fixed;inset:0;background:#0d1d32aa;display:flex;align-items:center;justify-content:center;z-index:30;padding:20px}.modal-card{width:min(100%,680px);max-height:94vh;overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 24px 80px #13233955}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:21px 25px;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:19px}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:26px}.editor{border:1px solid #dfe6ed;border-radius:8px;min-height:105px;padding:12px;line-height:1.6;outline:none;overflow-wrap:anywhere}.toolbar{display:flex;gap:6px;flex-wrap:wrap;background:#f7f9fc;padding:9px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0}.toolbar button{border:0;border-radius:5px;background:#fff;padding:6px 10px}.toolbar+.editor{border-radius:0 0 8px 8px}.help{font-size:11px;color:#97a2b0;margin-top:7px;line-height:1.5}.toast{position:fixed;right:25px;bottom:22px;padding:14px 19px;color:#fff;background:#21374c;border-radius:10px;box-shadow:0 8px 30px #152b4140;z-index:50}.import-help{margin-top:28px;color:#8390a0;font-size:12px;line-height:1.7}.meta-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:#8795a4;font-size:12px}.link{color:#3168c9;overflow-wrap:anywhere}.list-row{padding:16px 20px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center}.image-view{max-width:90vw;max-height:85vh;object-fit:contain}.modal-card.image-modal{width:auto;background:transparent;box-shadow:none}.image-modal .modal-header{border:0;color:white}.image-modal .modal-header button{color:white;font-size:20px}@media(max-width:1000px){.sidebar{width:215px}.content{padding:27px}.topbar{padding:0 27px}.req-row{grid-template-columns:51px minmax(0,1fr);gap:8px}.req-row>.actions{grid-column:2}}@media(max-width:740px){.app{display:block}.sidebar{width:100%;padding:12px;display:block}.brand{padding:3px 5px 14px;font-size:16px}.brand small{font-size:8px}.brand-mark{width:29px;height:29px}.nav-caption,.sidebar-note,.side-spacer,.profile{display:none}.sidebar nav{display:flex;gap:4px;overflow:auto}.nav-item{flex:1;min-width:150px;margin:0;padding:10px 8px}.topbar{height:48px;padding:0 17px}.topright{font-size:0}.online-dot{display:none}.content{padding:22px 14px}.heading{align-items:flex-start;flex-direction:column}.heading h2{font-size:25px}.heading-actions{width:100%;flex-wrap:wrap}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:17px}.stat strong{font-size:24px}.stat:last-child{grid-column:span 2}.panel-top{padding:13px;flex-wrap:wrap}.search{min-width:0;width:100%}.check-card{flex-wrap:wrap;padding:14px;gap:8px}.check-actions{width:100%;padding-left:43px}.modal{padding:8px}.modal-body{padding:15px}.auth-card{padding:32px 23px}.req-row{padding:14px}.heading-actions button{flex:1}.check-no{min-width:31px}}
.notice{font-size:12px;color:#7b8798;padding:12px 0}.req-content p{margin:0}.req-image{max-width:140px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.link-btn{border:0;background:transparent;color:#2e61c7;cursor:pointer;font:inherit;text-decoration:underline}.auth-card #authHint{font-size:12px}.stat-grid{display:flex;gap:12px;flex-wrap:wrap}.filters{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.filters select{max-width:235px}.photo-strip{display:flex;gap:7px;flex-wrap:wrap}.item-action{font-size:12px}.check-card .check-actions{margin-left:auto}.report{font:13px/1.5 Arial,sans-serif;color:#111}.report h1{font-size:24px}.report .rline{border-bottom:1px solid #ddd;padding:8px 0;break-inside:avoid}.report .rsection{margin-top:18px;font-weight:bold}.report small{color:#777}.report .status{float:right;font-weight:bold}.inline-details{color:#6c7c90;font-size:12px}.editor{background:white}.toolbar button{min-width:32px}.modal-body .input{margin:8px 0 14px}body.printing>*:not(#printReport){display:none!important}#printReport{display:none}body.printing #printReport{display:block;padding:20px;background:#fff}@media print{@page{size:A4;margin:16mm}body.printing #printReport{padding:0}.report .rline{break-inside:avoid}}@media(max-width:740px){.req-row{grid-template-columns:45px 1fr}.check-card .check-actions{margin-left:0}}

/* Kimi EPLAN UI restoration — based on supplied reference screenshots.
   Purple application bar, horizontal document tabs, compact technical tables. */
:root{--ink:#29263b;--muted:#77748a;--line:#e8e3f0;--bg:#f8f7fb;--blue:#6023d8;--nav:#5014c9;--green:#16986b;--red:#c34a58}
body{font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;background:var(--bg)}
.app{display:block;min-height:100vh}
.sidebar{position:sticky;top:0;z-index:12;width:100%;height:68px;padding:0 24px;background:linear-gradient(100deg,#4e0ac9 0%,#651ce4 100%);display:flex;flex-direction:row;align-items:center;gap:24px;box-shadow:0 2px 10px #38108818}
.brand{padding:0;gap:10px;font-size:17px;white-space:nowrap;letter-spacing:.5px}
.brand-mark,.mark{background:#ffffff23;border:1px solid #ffffff55;color:#fff;border-radius:8px}
.brand-mark{height:34px;width:34px;font-size:21px}
.brand small{color:#e3d5ff;font-size:8px;letter-spacing:1.5px}
.sidebar .nav-caption,.sidebar .side-spacer{display:none}
.sidebar nav{display:flex;align-items:center;gap:4px;overflow-x:auto;min-width:0;flex:1;scrollbar-width:thin}
.nav-item{width:auto;flex-shrink:0;min-width:0;margin:0;padding:10px 14px;border-radius:6px;color:#e9dcff;font-size:12px;gap:8px;white-space:nowrap}
.nav-item span{font-size:17px}
.nav-item.active{background:#ffffff2b;color:#fff}
.nav-item:hover:not(.active){background:#ffffff19}
.profile{flex-shrink:0;border:1px solid #ffffff5c;padding:8px 13px;border-radius:6px;background:#ffffff13;font-size:12px;white-space:nowrap}
.profile:hover{background:#ffffff29}
.main{min-width:0}
.topbar{height:42px;background:#fff;padding:0 32px;border-bottom:1px solid #eae5f2}
.crumb{font-size:10px;color:#aaa1bb}.crumb span{color:#5b36ad}
.content{max-width:1500px;padding:27px 32px 60px}
.heading{margin-bottom:18px}.heading h2{font-size:26px;font-weight:800;letter-spacing:-.6px;margin:4px 0 6px}.heading p{font-size:12px}
.panel,.stat,.check-card,.empty,.list-row{border-color:#e7e2ed;border-radius:7px;box-shadow:0 1px 3px #2f1a5a07}
.panel-top{padding:13px 17px}.panel-title{font-size:13px}
.primary,.secondary,.danger,.subtle{padding:9px 13px;border-radius:6px;font-size:12px}
.primary{background:#6023d8}.primary:hover{background:#4a0ebd}
.secondary{border-color:#e2dceb;color:#514768}.secondary:hover{background:#f7f2ff}
.subtle{background:#f0e8ff;color:#5620c2}
.search,.input,.select,.auth-card input{border-color:#e3dcec;border-radius:6px;font-size:12px}
:where(.search,.input,.select,.auth-card input):focus{outline:2px solid #9160ed44;border-color:#7b49e2}
.source-label{background:#f0edf5;color:#514463;font-size:12px;padding:12px 16px;border-bottom-color:#d9d1e2}
.req-row{padding:14px 16px;grid-template-columns:55px minmax(0,1fr) 92px;gap:12px;border-bottom-color:#eeeaf2}
.req-id,.check-no{color:#4f1ac1;font-size:12px}.req-content{font-size:12px;line-height:1.6}
.req-comment{font-size:11px;color:#756d80}.req-comment:not(:empty){border-left-color:#b6a2df}
.req-image{border-radius:4px}
.check-card{padding:15px}.check-body{font-size:12px}.check-section{color:#795ab5}
.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:24px}
.pill{background:#f0eaff;color:#5e28ca}.pill.ok{background:#e4f6ed;color:#10845e}
.progress>div{background:#6b2de2}
.segmented{background:#f0ecf8}.segmented button.selected{color:#5822c3}
.auth-screen{background:radial-gradient(circle at 20% 15%,#e5d6ff 0,transparent 35%),#f9f7fc}
.auth-card{border-radius:11px;border-color:#e7ddf5;box-shadow:0 19px 55px #4e1a9c12}
.auth-card .mark{background:#6023d8}.eyebrow,.text-btn{color:#5a1fc5}
.modal{background:#1f103d99}.modal-card{border-radius:9px}.toolbar{background:#f6f2fd}
@media(min-width:1100px){.sidebar{padding:0 32px}.content{padding:29px 36px 60px}}
@media(max-width:740px){.sidebar{height:auto;min-height:56px;padding:9px 12px;display:flex;flex-wrap:wrap;gap:5px 8px}.brand{font-size:13px;padding:0;margin-right:auto}.brand-mark{width:28px;height:28px;font-size:17px}.brand small{font-size:7px}.sidebar nav{flex-basis:100%;order:3;background:#fff;margin:8px -12px -9px;padding:0 9px;border-bottom:1px solid #e5deee;gap:1px;overflow:auto}.nav-item{flex:0 0 auto;min-width:0;border-radius:0;color:#75688a;font-size:10px;padding:11px 10px;border-bottom:2px solid transparent}.nav-item span{font-size:13px}.nav-item.active{background:#faf7ff;color:#5b1dcf;border-bottom-color:#641dda}.nav-item:hover:not(.active){background:#f7f3fc}.profile{display:block;border-color:#ffffff50;font-size:10px;padding:7px 9px}.topbar{height:35px;padding:0 14px}.content{padding:20px 12px 38px}.heading h2{font-size:22px}.heading p{font-size:11px}.req-row{grid-template-columns:40px minmax(0,1fr);padding:11px}.req-row>.actions{grid-column:2}.stats{gap:7px}.stat{padding:13px}.check-card{padding:12px}.check-actions{padding-left:0}}
