:root{--navy-deep:#0e1b30;--navy-panel:#16273f;--navy-panel-2:#1d3050;--wine:#7a2131;--wine-light:#9c3244;--gold:#bb9a54;--gold-soft:#d9c48c;--olive:#6b7f4a;--bg:#f4f6f9;--card:#fff;--ink:#1b2430;--muted:#6b7688;--line:#e3e6ec;--green:#27755c;--red:#a62b2b;--amber:#a0661d;--blue:#315ea8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;background:linear-gradient(180deg,var(--navy-deep),#0a1627);color:#fff;display:flex;flex-direction:column;z-index:50;border-right:1px solid #1c2c48;box-shadow:14px 0 35px rgba(8,20,36,.12)}.brand{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #1c2c48}.crest{width:42px;height:42px;border-radius:11px;background:linear-gradient(160deg,var(--gold-soft),var(--gold) 60%,#8c7238);display:flex;align-items:center;justify-content:center;padding:6px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.crest img{width:100%;height:100%;object-fit:contain}.brand-text .name{font-family:Georgia,serif;font-weight:700;font-size:17px}.brand-text .ver{font-size:11px;color:#9ba4b4}.sidebar nav{padding:14px 11px 8px;overflow:auto;flex:1}.group-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#60708d;padding:16px 12px 7px;font-weight:700}.group-label:first-child{padding-top:3px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:2px 0;border-radius:10px;color:#b7c0d4;font-weight:600;border-left:3px solid transparent;transition:.15s}.nav-item:hover{background:var(--navy-panel);color:#fff;transform:translateX(1px)}.nav-item.active{background:var(--navy-panel-2);color:#fff;border-left-color:var(--wine-light)}.nav-item .ic{width:18px;text-align:center;color:var(--gold-soft);font-size:16px}.user-footer{display:flex;align-items:center;gap:10px;padding:15px 17px;border-top:1px solid #1c2c48;background:#0b1729}.avatar{width:37px;height:37px;border-radius:50%;background:linear-gradient(135deg,var(--wine-light),var(--wine));display:flex;align-items:center;justify-content:center;font-weight:800}.user-info{min-width:0;line-height:1.3}.uname{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}.urole{font-size:11.5px;color:#9ba4b4}.logout-btn{margin-left:auto;width:32px;height:32px;border-radius:8px;border:1px solid #263957;display:flex;align-items:center;justify-content:center;color:var(--gold-soft)}.main{margin-left:280px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:68px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:30;backdrop-filter:blur(8px)}.crumb small,.crumb strong{display:block}.crumb small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.crumb strong{font-size:15px;margin-top:2px}.top-actions{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:12px}.top-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--wine)}.menu{display:none;border:0;background:#fff;font-size:20px}.content{padding:25px;flex:1;max-width:1600px;width:100%;margin:0 auto}footer{padding:18px 24px;color:#8994a4;text-align:center;font-size:11.5px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.page-head h1{font-family:Georgia,serif;margin:0;font-size:26px;color:#15253b}.page-head p{margin:5px 0 0;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.layout-main-aside{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:16px}.card,.kpi{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 24px rgba(26,41,61,.045)}.card{padding:18px;margin-bottom:16px}.card h2,.card h3{margin:0 0 12px}.kpi{padding:17px;display:flex;align-items:center;gap:13px}.kpi-icon{width:43px;height:43px;border-radius:13px;background:#eef2f8;color:var(--wine);display:flex;align-items:center;justify-content:center;font-size:20px}.kpi small{display:block;color:var(--muted);font-weight:600}.kpi strong{font-size:25px;display:block;margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:10px;padding:10px 14px;background:var(--navy-panel);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:.15s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(18,39,64,.12)}.btn.wine{background:linear-gradient(160deg,var(--wine-light),var(--wine))}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.light{background:#fff;color:#263b56;border-color:#d8e0e8}.btn.gold{background:var(--gold);color:#172238}.btn.small{padding:7px 10px;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}label{font-weight:700;display:block;margin-bottom:6px;font-size:12.5px}input,select,textarea{width:100%;padding:10.5px 11px;border:1.5px solid #d8dfe7;border-radius:10px;background:#fff;color:var(--ink);font:inherit;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:var(--wine-light);box-shadow:0 0 0 3px rgba(122,33,49,.10)}textarea{min-height:105px;resize:vertical}.table-wrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0}.table th,.table td{padding:10.5px 10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#637083;background:#f8f9fb}.table tr:hover td{background:#fbfcfd}.badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:750;background:#edf1f5;color:#405065}.badge.success{background:#dff3ea;color:#1c684f}.badge.danger{background:#fbe3e3;color:#8c2525}.badge.warning{background:#fff0d9;color:#875616}.badge.info{background:#e7eefb;color:#315b9b}.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px;border:1px solid transparent}.alert.success{background:#e5f5ed;color:#1f6c52;border-color:#cce9dc}.alert.danger{background:#fde7e7;color:#8e2727;border-color:#f6cfcf}.alert.warning{background:#fff3de;color:#80551d;border-color:#f5dfb8}.muted{color:var(--muted)}.empty{padding:32px;text-align:center;color:var(--muted)}.timeline{border-left:3px solid #dfe5ec;margin-left:8px;padding-left:18px}.timeline-item{position:relative;margin:0 0 18px}.timeline-item:before{content:"";position:absolute;left:-25px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--wine);box-shadow:0 0 0 4px #f5e9ec}.protocol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:14px 0 18px}.protocol-card{border:1px solid var(--line);border-left:4px solid var(--wine);background:#fafbfc;border-radius:10px;padding:11px}.protocol-card small{display:block;color:var(--muted)}.protocol-card strong{display:block;margin-top:3px;color:#182b43}.quick-list{display:grid;gap:8px}.quick-list .btn{width:100%}.risk-critical{background:#3c1015!important;color:#fff!important}.risk-high{background:#fee3e3!important;color:#9b2525!important}.risk-medium{background:#fff0d7!important;color:#8a5a12!important}.risk-low{background:#e3f3e8!important;color:#2c6c43!important}.checklist{display:grid;gap:8px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfcfd}.checkline{display:flex;gap:8px;align-items:flex-start;padding:7px;border-radius:8px}.checkline:hover{background:#f0f3f7}.checkline input{width:auto;margin-top:3px}.login-page{min-height:100vh;background:radial-gradient(ellipse at 18% 12%,#1d3050 0%,transparent 50%),radial-gradient(ellipse at 82% 88%,#24314f 0%,transparent 45%),linear-gradient(160deg,#0c1830,#091422);display:flex;align-items:center;justify-content:center;padding:28px;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";position:absolute;width:520px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.18;transform:rotate(12deg)}.login-page:before{top:15%;left:-8%}.login-page:after{bottom:15%;right:-8%}.login-box{width:410px;background:#f7f8fa;border-radius:20px;padding:36px 34px 30px;box-shadow:0 40px 80px -20px rgba(0,0,0,.55);position:relative;z-index:2}.login-logo{text-align:center;margin-bottom:23px}.login-logo img{width:70px;height:70px;object-fit:contain;background:linear-gradient(160deg,var(--gold-soft),var(--gold));padding:10px;border-radius:15px}.login-logo h1{font-family:Georgia,serif;margin:13px 0 3px;font-size:24px}.login-logo p{margin:0;color:var(--muted);font-size:13px}.letterhead{display:flex;gap:16px;align-items:center;border-bottom:2px solid var(--wine);padding-bottom:11px;margin-bottom:16px}.letterhead img{width:72px;height:72px;object-fit:contain}.letterhead div span,.letterhead div small{display:block}.letterhead strong{font-size:18px;color:var(--wine)}.doc-title{text-align:center;margin:18px 0}.signature-box{border:1px solid #cfd7df;border-radius:10px;padding:14px;margin-top:12px}.no-print{}@media(max-width:1150px){.grid-5{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.layout-main-aside,.two,.three{grid-template-columns:1fr}}@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.2s}.main{margin-left:0}.menu{display:block}.menu-open .sidebar{transform:none}.content{padding:16px}}@media(max-width:600px){.grid,.grid-5,.form-grid,.protocol-grid{grid-template-columns:1fr}.full{grid-column:auto}.page-head{flex-direction:column}.login-box{width:100%;padding:28px 22px}}@media print{body{background:#fff}.sidebar,.topbar,footer,.no-print,.alert{display:none!important}.main{margin:0}.content{padding:0;max-width:none}.card{box-shadow:none;border:0;padding:0}.letterhead{page-break-inside:avoid}@page{size:A4;margin:12mm}}
