:root{
  --bg:#f4f6f9;--surface:#ffffff;--surface2:#f8fafc;--surface3:#eef2f6;
  --text:#17212b;--text-strong:#101820;--muted:#667586;--line:#dfe5eb;--line-soft:#edf1f4;
  --accent:#b92b62;--accent-hover:#9f2455;--accent-soft:#f9eaf1;--accent-ring:rgba(185,43,98,.16);
  --success:#167657;--success-soft:#e9f7f1;--warning:#a86100;--warning-soft:#fff3df;--danger:#b93b3b;--danger-soft:#fcecec;--info:#28649d;--info-soft:#eaf3fc;
  --sidebar:#151a21;--sidebar-hover:#202731;--sidebar-active:#2b2430;--sidebar-text:#c9d0d9;--sidebar-muted:#8f9aa7;
  --radius:16px;--radius-sm:11px;--shadow:0 8px 28px rgba(16,24,40,.055);--shadow-lg:0 18px 55px rgba(16,24,40,.11);
  --sidebar-width:252px;--sidebar-collapsed-width:84px;--font-size:16px;--topbar-height:82px;
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#0d1117;--surface:#151b23;--surface2:#11171f;--surface3:#1c2530;
  --text:#e8edf2;--text-strong:#f6f8fa;--muted:#98a6b5;--line:#2a3542;--line-soft:#222c37;
  --accent:#e05a8b;--accent-hover:#ed74a0;--accent-soft:rgba(224,90,139,.13);--accent-ring:rgba(224,90,139,.2);
  --success:#56c89a;--success-soft:rgba(48,171,123,.14);--warning:#e5a947;--warning-soft:rgba(229,169,71,.13);--danger:#ef7777;--danger-soft:rgba(239,119,119,.12);--info:#77afe5;--info-soft:rgba(74,144,211,.14);
  --sidebar:#0a0e13;--sidebar-hover:#141b24;--sidebar-active:#251a22;--sidebar-text:#d4dae2;--sidebar-muted:#778493;
  --shadow:0 8px 28px rgba(0,0,0,.2);--shadow-lg:0 20px 65px rgba(0,0,0,.34);
  color-scheme:dark;
}
*{box-sizing:border-box}html{font-size:var(--font-size);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Leelawadee UI",Tahoma,Arial,sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}svg{display:block}::selection{background:var(--accent-soft);color:var(--text-strong)}
.app-shell{min-height:100vh}.main-shell{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left .22s ease}.content{padding:24px 28px 40px;max-width:1720px;margin:0 auto;width:100%}.footer{padding:12px 28px 25px;display:flex;gap:8px;justify-content:flex-end;align-items:center;color:var(--muted);font-size:.78rem}.footer-dot{opacity:.45}
/* Sidebar */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--sidebar);color:var(--sidebar-text);z-index:50;padding:18px 13px 14px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.05);transition:width .22s ease,transform .22s ease}.brand-row{display:flex;align-items:center;gap:7px;min-height:54px;margin-bottom:16px}.brand{display:flex;align-items:center;gap:12px;min-width:0;flex:1;padding:3px 6px}.brand-mark-img{width:43px;height:43px;flex:0 0 43px;filter:drop-shadow(0 5px 12px rgba(185,43,98,.2))}.brand-copy{min-width:0;overflow:hidden;white-space:nowrap}.brand strong{display:block;color:#fff;font-size:1.02rem;letter-spacing:.01em}.brand small{display:block;color:var(--sidebar-muted);font-size:.74rem;margin-top:1px}.sidebar-collapse-btn{width:34px;height:34px;border:0;background:transparent;color:var(--sidebar-muted);border-radius:9px;display:grid;place-items:center;cursor:pointer;transition:.18s}.sidebar-collapse-btn:hover{background:var(--sidebar-hover);color:#fff}.sidebar-collapse-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-nav{display:grid;gap:5px}.sidebar-nav a,.sidebar-bottom a{position:relative;min-height:44px;padding:9px 11px;border-radius:11px;display:flex;align-items:center;gap:12px;color:var(--sidebar-text);font-weight:650;transition:background .16s,color .16s,transform .16s}.sidebar-nav a:hover,.sidebar-bottom a:hover{background:var(--sidebar-hover);color:#fff}.sidebar-nav a.active,.sidebar-bottom a.active{background:var(--sidebar-active);color:#fff}.sidebar-nav a.active:before,.sidebar-bottom a.active:before{content:"";position:absolute;left:-5px;top:11px;bottom:11px;width:3px;background:var(--accent);border-radius:0 4px 4px 0}.nav-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px}.nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-label{white-space:nowrap;overflow:hidden}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:12px;display:grid;gap:5px}.sidebar-overlay{display:none}
html.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}html.sidebar-collapsed .main-shell{margin-left:var(--sidebar-collapsed-width)}html.sidebar-collapsed .brand-copy,html.sidebar-collapsed .nav-label{opacity:0;width:0;pointer-events:none}html.sidebar-collapsed .brand{padding-left:7px}html.sidebar-collapsed .brand-row{display:grid;justify-items:center}html.sidebar-collapsed .sidebar-collapse-btn{position:absolute;right:-14px;top:28px;background:var(--surface);color:var(--muted);border:1px solid var(--line);box-shadow:var(--shadow)}html.sidebar-collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}html.sidebar-collapsed .sidebar-nav a,html.sidebar-collapsed .sidebar-bottom a{justify-content:center;padding-inline:10px}html.sidebar-collapsed .sidebar-nav a:hover:after,html.sidebar-collapsed .sidebar-bottom a:hover:after{content:attr(data-nav-label);position:absolute;left:61px;top:50%;transform:translateY(-50%);background:var(--text-strong);color:var(--surface);padding:7px 10px;border-radius:8px;font-size:.78rem;white-space:nowrap;box-shadow:var(--shadow-lg);z-index:80}
/* Top bar */
.topbar{height:var(--topbar-height);padding:13px 28px;background:color-mix(in srgb,var(--surface) 91%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:12px}.page-title-wrap{min-width:0}.topbar h1{margin:0;font-size:1.34rem;line-height:1.28;color:var(--text-strong);font-weight:760}.topbar-sub{font-size:.8rem;color:var(--muted);margin-top:2px}.topbar-tool{color:var(--muted)}.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:11px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer;transition:.16s}.icon-btn:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--surface2);color:var(--accent);transform:translateY(-1px)}.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-icon.moon{display:none}html[data-theme="dark"] .theme-icon.sun{display:none}html[data-theme="dark"] .theme-icon.moon{display:block}.lang-switch{display:flex;background:var(--surface3);border:1px solid var(--line);border-radius:10px;padding:3px}.lang-switch a{padding:5px 9px;border-radius:7px;font-size:.76rem;font-weight:800;color:var(--muted);transition:.15s}.lang-switch a.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 5px rgba(0,0,0,.08)}.user-chip{display:flex;align-items:center;gap:9px;padding-left:2px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:800;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line))}.user-name{font-weight:650;font-size:.88rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-only{display:none}.desktop-only{display:grid}
/* Page and cards */
.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.page-head h2{margin:0 0 5px;font-size:1.18rem;color:var(--text-strong)}.page-head p{margin:0;color:var(--muted);max-width:920px}.actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:9px 14px;border-radius:11px;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px;justify-content:center;min-height:42px;transition:.16s;box-shadow:0 1px 1px rgba(0,0,0,.02)}.btn:hover{border-color:color-mix(in srgb,var(--accent) 25%,var(--line));background:var(--surface2);transform:translateY(-1px);box-shadow:0 5px 15px rgba(0,0,0,.055)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.soft{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 20%,var(--line));color:var(--accent)}.btn.danger{color:var(--danger)}.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.grid{display:grid;gap:16px}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.kpi{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-height:128px;overflow:hidden}.kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line-soft)}.kpi.danger:after{background:var(--danger)}.kpi.warning:after{background:var(--warning)}.kpi.success:after{background:var(--success)}.kpi-label{font-size:.84rem;color:var(--muted);font-weight:680}.kpi-value{font-size:2rem;font-weight:820;line-height:1.15;margin:8px 0;color:var(--text-strong)}.kpi-foot{font-size:.78rem;color:var(--muted)}.kpi.danger .kpi-value{color:var(--danger)}.kpi.warning .kpi-value{color:var(--warning)}.kpi.success .kpi-value{color:var(--success)}.two-col{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}.card-head h3{margin:0;font-size:1rem;color:var(--text-strong)}.card-body{padding:18px}.card-note{color:var(--muted);font-size:.83rem}
/* Tables */
.table-wrap{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}.table th{font-size:.78rem;letter-spacing:.01em;color:var(--muted);background:var(--surface2);position:sticky;top:0;z-index:2;font-weight:750}.table td{font-size:.89rem}.table tbody tr{transition:background .14s}.table tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 44%,transparent)}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:var(--surface3);color:var(--muted);font-size:.73rem;font-weight:800;white-space:nowrap;border:1px solid color-mix(in srgb,var(--line) 78%,transparent)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.success{background:var(--success-soft);color:var(--success)}.badge.neutral{background:var(--surface3);color:var(--muted)}
/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:grid;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:.83rem;font-weight:720;color:var(--text)}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:10px 12px;font:inherit;color:var(--text);min-height:45px;transition:border-color .15s,box-shadow .15s,background .15s}.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb,var(--muted) 50%,var(--line))}.input:focus,.select:focus,.textarea:focus{outline:0;box-shadow:0 0 0 4px var(--accent-ring);border-color:var(--accent)}.input::placeholder,.textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}.textarea{min-height:108px;resize:vertical}.select{appearance:none;-webkit-appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23738191' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}.select::-ms-expand{display:none}.help{font-size:.77rem;color:var(--muted)}
/* Signals and misc */
.signal-list{display:grid;gap:10px}.signal{border:1px solid var(--line);background:var(--surface2);border-radius:12px;padding:13px}.signal-top{display:flex;justify-content:space-between;gap:10px}.signal strong{font-size:.91rem}.signal p{margin:5px 0 0;color:var(--muted);font-size:.8rem}.score{font-weight:850;color:var(--danger);font-size:1.05rem}.progress{height:8px;background:var(--surface3);border-radius:99px;overflow:hidden}.progress>span{height:100%;display:block;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 65%,#7b6fe8));border-radius:99px}.alert{padding:12px 14px;border-radius:11px;margin-bottom:14px;border:1px solid}.alert.success{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 25%,var(--line));color:var(--success)}.alert.error,.alert.danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 25%,var(--line));color:var(--danger)}.alert.info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 25%,var(--line));color:var(--info)}.empty{padding:40px;text-align:center;color:var(--muted)}.section-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:16px;scrollbar-width:none}.section-tabs::-webkit-scrollbar{display:none}.section-tabs a{padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.84rem;font-weight:700;white-space:nowrap}.section-tabs a.active{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.risk-critical{color:var(--danger);font-weight:800}.risk-high{color:#c26c15;font-weight:800}.risk-medium{color:#a17b12;font-weight:800}.risk-low{color:var(--success);font-weight:800}.source-dual{display:flex;gap:7px;flex-wrap:wrap}.timeline{display:grid;gap:9px}.timeline-item{border-left:3px solid var(--line);padding:6px 0 6px 14px}.timeline-item strong{font-size:.89rem}.timeline-item p{margin:2px 0;color:var(--muted);font-size:.81rem}.stat-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:10px 0}.stat-row small{color:var(--muted)}
/* Documents */
.doc-drop{border:1.5px dashed color-mix(in srgb,var(--muted) 55%,var(--line));background:var(--surface2);border-radius:15px;padding:25px;text-align:center;transition:.17s}.doc-drop:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:color-mix(in srgb,var(--accent-soft) 35%,var(--surface2))}.doc-drop.drag{border-color:var(--accent);background:var(--accent-soft)}.doc-drop input[type=file]{display:none}.doc-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.meta-box{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.meta-box small{display:block;color:var(--muted);font-size:.72rem}.meta-box strong{font-size:.82rem;word-break:break-all}.hash-progress{display:none;margin-top:13px;text-align:left}.hash-progress.active{display:block}
/* ISO guide */
.guide-toolbar{display:flex;gap:8px;align-items:center;overflow:auto;padding:3px 0 14px;margin-bottom:3px;scrollbar-width:none}.guide-toolbar::-webkit-scrollbar{display:none}.guide-jump{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 13px;font-size:.82rem;font-weight:720;color:var(--muted);white-space:nowrap;transition:.16s}.guide-jump:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--accent-soft)}.guide-hero{position:relative;background:linear-gradient(135deg,#1d2430 0%,#282331 52%,#51283b 100%);color:#fff;border-radius:22px;padding:30px;display:grid;grid-template-columns:1.25fr .75fr;gap:24px;margin-bottom:18px;overflow:hidden;box-shadow:var(--shadow-lg)}.guide-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(224,90,139,.25),transparent 65%);right:-110px;top:-130px;pointer-events:none}.guide-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);font-size:.74rem;font-weight:750;color:#f0dfe6;margin-bottom:11px}.guide-hero h2{margin:0 0 9px;font-size:1.7rem;letter-spacing:-.015em}.guide-hero p{margin:0;color:#dedde4;max-width:760px}.cia{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-self:end;position:relative;z-index:1}.cia div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:13px;padding:13px;backdrop-filter:blur(8px)}.cia strong{display:block;font-size:.88rem}.cia small{display:block;color:#d6d4dc;margin-top:3px;line-height:1.35}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-section{scroll-margin-top:105px}.guide-section-title{display:flex;align-items:center;gap:10px;margin:25px 0 12px}.guide-section-title .section-icon{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:850}.guide-section-title h2{margin:0;font-size:1.08rem}.guide-section-title p{margin:1px 0 0;color:var(--muted);font-size:.8rem}.guide-item{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 3px 12px rgba(16,24,40,.025);transition:.16s}.guide-item:hover{border-color:color-mix(in srgb,var(--accent) 24%,var(--line));transform:translateY(-1px);box-shadow:var(--shadow)}.guide-item h3{margin:0 0 6px;font-size:.98rem;color:var(--text-strong)}.guide-item p{margin:0;color:var(--muted);font-size:.88rem}.clause{display:flex;gap:13px}.clause-code{flex:0 0 43px;height:43px;border-radius:12px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-weight:900;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line))}.concept-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.concept-step{position:relative;border:1px solid var(--line);background:var(--surface2);border-radius:13px;padding:15px}.concept-step:not(:last-child):after{content:"›";position:absolute;right:-9px;top:50%;transform:translateY(-50%);width:18px;height:18px;display:grid;place-items:center;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:50%;z-index:2}.concept-step strong{display:block;font-size:.86rem}.concept-step small{display:block;color:var(--muted);margin-top:4px;line-height:1.45}
/* Reports */
.report-sheet{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:34px;max-width:1180px;margin:auto;box-shadow:var(--shadow)}.report-head{border-bottom:2px solid var(--text);padding-bottom:14px;margin-bottom:18px}.report-head h2{margin:0}.report-meta{color:var(--muted);font-size:.82rem}
/* Login / setup */
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 16% 0,color-mix(in srgb,var(--accent-soft) 55%,var(--surface)) 0,var(--bg) 38%,var(--bg) 100%);padding:25px}.login-card{width:min(480px,100%);background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:31px;box-shadow:var(--shadow-lg)}.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:25px}.login-logo{width:50px;height:50px}.login-card h1{font-size:1.45rem;margin:0;color:var(--text-strong)}.login-card p{color:var(--muted);margin:4px 0 0}.login-theme{position:fixed;right:20px;top:20px}.setup-wrap{max-width:830px;margin:50px auto;padding:20px}.setup-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:var(--shadow)}.setup-card h1{margin-top:0}
/* SweetAlert2 integration */
.swal2-container{font-family:inherit!important}.swal2-popup.isms-swal{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--line);border-radius:18px!important;box-shadow:var(--shadow-lg)!important;padding:1.45rem!important}.isms-swal .swal2-title{color:var(--text-strong)!important;font-size:1.22rem!important}.isms-swal .swal2-html-container{color:var(--muted)!important;font-size:.92rem!important}.isms-swal .swal2-actions{gap:8px}.isms-swal-confirm,.isms-swal-cancel{border-radius:10px!important;padding:.68rem 1rem!important;font-weight:720!important;box-shadow:none!important}.isms-swal-confirm{background:var(--accent)!important}.isms-swal-cancel{background:var(--surface3)!important;color:var(--text)!important}
/* Wide / dual-screen */
@media(min-width:1800px){.content{max-width:1900px;padding-left:34px;padding-right:34px}.kpi-grid{gap:18px}.card-body{padding:20px}.two-col{grid-template-columns:minmax(0,1.65fr) minmax(360px,.65fr)}}
@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.two-col{grid-template-columns:1fr}.doc-meta{grid-template-columns:repeat(2,1fr)}.concept-flow{grid-template-columns:repeat(2,1fr)}.concept-step:nth-child(2):after{display:none}}
@media(max-width:1050px){html.sidebar-collapsed .main-shell,.main-shell{margin-left:0}.sidebar,html.sidebar-collapsed .sidebar{width:var(--sidebar-width);transform:translateX(-100%)}.sidebar.open{transform:none}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:40;backdrop-filter:blur(2px)}.sidebar-overlay.open{display:block}.mobile-only{display:grid}.desktop-only{display:none!important}.content{padding:20px}.topbar{padding:13px 20px}.guide-hero{grid-template-columns:1fr}.user-name{display:none}html.sidebar-collapsed .brand-copy,html.sidebar-collapsed .nav-label{opacity:1;width:auto;pointer-events:auto}html.sidebar-collapsed .brand-row{display:flex}html.sidebar-collapsed .sidebar-nav a,html.sidebar-collapsed .sidebar-bottom a{justify-content:flex-start}}
@media(max-width:760px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.guide-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.doc-meta{grid-template-columns:1fr}.page-head{flex-direction:column}.topbar{height:auto;min-height:76px;padding:11px 14px}.topbar-sub{display:none}.content{padding:16px}.kpi{padding:15px;min-height:114px}.kpi-value{font-size:1.75rem}.report-sheet{padding:20px}.cia{grid-template-columns:1fr}.user-chip{display:none}.topbar-actions{gap:7px}.topbar-tool{width:39px;height:39px}.lang-switch a{padding:5px 7px}.footer{padding-inline:16px;justify-content:center;flex-wrap:wrap}.guide-hero{padding:23px}.guide-hero h2{font-size:1.45rem}.concept-flow{grid-template-columns:1fr}.concept-step:after{display:none!important}}
@media(max-width:480px){.kpi-grid{grid-template-columns:1fr 1fr}.kpi-label{font-size:.79rem}.kpi-value{font-size:1.55rem}.second-screen-label{display:none}.page-title-wrap h1{font-size:1.15rem}.login-card{padding:25px 20px}.topbar-tool#secondScreenBtn{display:none}}
@media print{html{background:#fff!important}.sidebar,.topbar,.footer,.no-print,.sidebar-overlay{display:none!important}.main-shell{margin:0!important}.content{padding:0}.report-sheet{border:0;box-shadow:none;max-width:none;padding:0;background:#fff!important;color:#000!important}.report-sheet .table th{position:static;background:#f3f3f3!important;color:#333!important}.report-sheet .table td{color:#000!important}.report-sheet .table{min-width:0;font-size:10pt}body{background:#fff!important;color:#000!important}}

/* =========================================================
   v0.3 UI STANDARDIZATION
   ========================================================= */
:root{--control-size:44px}

/* Sidebar: all controls stay inside the rail; user identity lives at the bottom. */
.sidebar{padding-bottom:12px}
.brand-row{margin-bottom:14px}
.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:10px;display:grid;gap:5px}
.sidebar-collapse-control{position:relative;width:100%;min-height:44px;padding:9px 11px;border:0;border-radius:11px;background:transparent;color:var(--sidebar-text);display:flex;align-items:center;gap:12px;text-align:left;font-weight:650;cursor:pointer;transition:background .16s,color .16s}
.sidebar-collapse-control:hover{background:var(--sidebar-hover);color:#fff}
.sidebar-collapse-control svg{transition:transform .2s ease}
.sidebar-user-card{margin-top:7px;min-height:64px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035);display:flex;align-items:center;gap:10px;overflow:hidden}
.sidebar-avatar{width:38px;height:38px;flex:0 0 38px;border-color:rgba(255,255,255,.1);background:rgba(224,90,139,.14);color:#f4a2bf}
.sidebar-user-copy{min-width:0;display:block;line-height:1.25;overflow:hidden}
.sidebar-user-copy strong{display:block;color:#fff;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user-copy small{display:block;color:var(--sidebar-muted);font-size:.69rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Clean collapsed sidebar. Nothing floats outside the sidebar boundary. */
html.sidebar-collapsed .brand-row{display:flex;justify-content:center}
html.sidebar-collapsed .brand{flex:0 0 auto;padding:3px}
html.sidebar-collapsed .brand-mark-img{width:42px;height:42px;flex-basis:42px}
html.sidebar-collapsed .sidebar-collapse-control{justify-content:center;padding-inline:10px}
html.sidebar-collapsed .sidebar-collapse-control svg{transform:rotate(180deg)}
html.sidebar-collapsed .sidebar-user-card{justify-content:center;padding:8px;margin-inline:0}
html.sidebar-collapsed .sidebar-user-copy{opacity:0;width:0;pointer-events:none}
html.sidebar-collapsed .sidebar-collapse-control:hover:after{content:attr(data-nav-label);position:absolute;left:61px;top:50%;transform:translateY(-50%);background:var(--text-strong);color:var(--surface);padding:7px 10px;border-radius:8px;font-size:.78rem;white-space:nowrap;box-shadow:var(--shadow-lg);z-index:80}

/* Topbar standard: second screen, theme, TH and EN are identical 44x44 controls. */
.topbar-actions{gap:8px}
.topbar-control{width:var(--control-size);height:var(--control-size);flex:0 0 var(--control-size);border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:11px;display:grid;place-items:center;cursor:pointer;transition:border-color .16s,background .16s,color .16s,transform .16s,box-shadow .16s;font-weight:800;font-size:.74rem;line-height:1}
.topbar-control:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--surface2);color:var(--accent);transform:translateY(-1px);box-shadow:0 5px 14px rgba(16,24,40,.05)}
.topbar-control svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topbar-control.lang-control.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent)}
.topbar-control:focus-visible,.sidebar-collapse-control:focus-visible{outline:0;box-shadow:0 0 0 4px var(--accent-ring);border-color:var(--accent)}

/* Form controls follow a common height/radius rhythm. */
.btn{min-height:44px;border-radius:11px}
.input,.select,.textarea{border-radius:11px}
.select{padding-right:54px;background-position:right 18px center;background-size:17px}

/* SweetAlert2: one modal standard, one non-blocking toast standard. */
.swal2-container{font-family:inherit!important;padding:16px!important}
.swal2-popup.isms-swal{width:min(440px,calc(100vw - 32px))!important;background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:var(--shadow-lg)!important;padding:1.5rem!important}
.isms-swal .swal2-icon{margin:0 auto 1rem!important;transform:scale(.9)}
.isms-swal .swal2-title{margin:0!important;padding:0!important;color:var(--text-strong)!important;font-size:1.2rem!important;font-weight:780!important;line-height:1.35!important}
.isms-swal .swal2-html-container{margin:.65rem 0 0!important;padding:0!important;color:var(--muted)!important;font-size:.91rem!important;line-height:1.6!important}
.isms-swal .swal2-actions{width:100%!important;margin:1.25rem 0 0!important;gap:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important}
.isms-swal .swal2-actions button{position:relative!important;margin:0!important;min-width:116px!important;min-height:44px!important;height:44px!important;padding:0 18px!important;border-radius:11px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;font-family:inherit!important;font-size:.88rem!important;font-weight:720!important;box-shadow:none!important;transform:none!important}
.isms-swal .swal2-actions button:before,.isms-swal .swal2-actions button:after{display:none!important;content:none!important}
.isms-swal-confirm{background:var(--accent)!important;border:1px solid var(--accent)!important;color:#fff!important}
.isms-swal-confirm:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}
.isms-swal-cancel{background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--text)!important}
.isms-swal-cancel:hover{background:var(--surface2)!important}
.isms-swal .swal2-actions button:focus-visible{outline:0!important;box-shadow:0 0 0 4px var(--accent-ring)!important}
.swal2-popup.isms-toast{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:13px!important;box-shadow:var(--shadow-lg)!important;padding:12px 14px!important}
.isms-toast .swal2-title{color:var(--text-strong)!important;font-size:.88rem!important;font-weight:720!important;line-height:1.4!important;margin:0!important}
.isms-toast .swal2-icon{width:1.65rem!important;height:1.65rem!important;margin:0 9px 0 0!important;font-size:.7rem!important}
.isms-toast .swal2-timer-progress-bar{background:var(--accent)!important}

/* ISO guide: information architecture + visual mental models. */
.guide-toolbar{position:sticky;top:var(--topbar-height);z-index:18;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:10px 0 12px;margin:-6px 0 12px;gap:7px}
.guide-jump{min-height:38px;display:inline-flex;align-items:center;border-radius:10px;padding:7px 12px;background:var(--surface);font-size:.79rem}
.guide-hero{padding:32px;border-radius:22px;grid-template-columns:1.25fr .75fr}
.guide-hero-note{margin-top:15px;font-size:.75rem;color:#bfc0c8;border-left:2px solid rgba(255,255,255,.22);padding-left:10px}
.cia div{position:relative;min-height:128px;padding:14px}
.cia-letter{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;margin-bottom:10px;background:rgba(255,255,255,.12);font-weight:900;font-size:.8rem}
.guide-section{scroll-margin-top:145px}
.guide-section-title{margin:30px 0 14px}
.guide-section-title .section-icon{flex:0 0 36px;width:36px;height:36px;border-radius:11px;font-size:.77rem}
.guide-section-title h2{font-size:1.12rem}
.guide-section-title p{font-size:.82rem;max-width:960px}

.isms-cycle{display:grid;grid-template-columns:minmax(135px,1fr) 28px minmax(135px,1fr) 28px minmax(135px,1fr) 28px minmax(135px,1fr) 28px minmax(135px,1fr) 28px minmax(135px,1fr);align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}
.cycle-step{padding:15px 13px;border-radius:13px;background:var(--surface2);min-width:0}
.cycle-step>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:850;margin-bottom:10px}
.cycle-step strong{display:block;color:var(--text-strong);font-size:.86rem;line-height:1.35}
.cycle-step small{display:block;color:var(--muted);font-size:.75rem;line-height:1.48;margin-top:6px}
.cycle-arrow{display:grid;place-items:center;color:var(--muted);font-size:1.3rem}
.guide-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.guide-principles article{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px}
.principle-no{width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:var(--surface3);color:var(--accent);display:grid;place-items:center;font-weight:850;font-size:.76rem}
.guide-principles strong{font-size:.88rem;color:var(--text-strong)}
.guide-principles p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}

.clause-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.clause-card{padding:16px}
.clause-head{display:flex;gap:12px;align-items:flex-start}
.clause-head h3{margin:1px 0 5px;font-size:.94rem}
.clause-head p{font-size:.82rem;line-height:1.55}
.audit-focus{margin-top:13px;padding-top:11px;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start}
.audit-focus span{font-size:.68rem;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);font-weight:800;background:var(--surface3);padding:4px 7px;border-radius:7px}
.audit-focus strong{font-size:.76rem;line-height:1.5;color:var(--text)}

.assurance-chain{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr;gap:0;align-items:stretch}
.chain-node{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;min-width:0}
.chain-node.accent{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--accent-soft)}
.chain-node>span{display:block;color:var(--accent);font-size:.67rem;font-weight:850;letter-spacing:.06em;margin-bottom:7px}
.chain-node strong{display:block;font-size:.82rem;color:var(--text-strong);line-height:1.35}
.chain-node small{display:block;color:var(--muted);font-size:.73rem;line-height:1.48;margin-top:5px}
.chain-link{display:grid;place-items:center;color:var(--muted);font-size:1.25rem}
.trigger-list{display:flex;flex-wrap:wrap;gap:8px}
.trigger-list span{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);font-size:.79rem;color:var(--text)}

.annex-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.annex-groups article{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:17px;overflow:hidden}
.annex-groups article:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--accent)}
.annex-groups strong{display:block;font-size:1.6rem;line-height:1;color:var(--accent)}
.annex-groups span{display:block;font-size:.86rem;font-weight:780;color:var(--text-strong);margin:7px 0 5px}
.annex-groups small{display:block;color:var(--muted);font-size:.75rem;line-height:1.5}
.guide-alert{margin:14px 0 0}
.compare-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.compare-mini>div{padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}
.compare-mini span,.compare-mini small{display:block;color:var(--muted);font-size:.72rem}
.compare-mini strong{display:block;margin:3px 0;font-size:.9rem;color:var(--text-strong)}

.assurance-compare{display:grid;grid-template-columns:1fr minmax(190px,.55fr) 1fr;gap:14px;align-items:stretch}
.assurance-col,.assurance-bridge{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--surface)}
.assurance-col h3{margin:10px 0 6px;font-size:.96rem}
.assurance-col p,.assurance-bridge small{margin:0;color:var(--muted);font-size:.79rem;line-height:1.55}
.assurance-icon{width:38px;height:38px;border-radius:10px;background:var(--surface3);display:grid;place-items:center;font-size:.72rem;font-weight:900;color:var(--text-strong)}
.assurance-col.external .assurance-icon{background:var(--info-soft);color:var(--info)}
.assurance-col.internal .assurance-icon{background:var(--accent-soft);color:var(--accent)}
.assurance-bridge{display:grid;place-items:center;text-align:center;background:var(--surface2)}
.assurance-bridge>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:900}
.assurance-bridge strong{font-size:.88rem;margin:6px 0 4px}
.signal-example{margin-top:14px;display:flex;gap:13px;align-items:center;border:1px solid color-mix(in srgb,var(--danger) 25%,var(--line));background:var(--danger-soft);border-radius:14px;padding:14px 16px}
.signal-badge{width:46px;height:46px;flex:0 0 46px;border-radius:12px;display:grid;place-items:center;background:var(--danger);color:#fff;font-size:1rem;font-weight:900}
.signal-example strong{font-size:.88rem}.signal-example p{margin:3px 0 0;color:var(--muted);font-size:.78rem}

.fieldwork-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fieldwork-grid article{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.fieldwork-grid article>span{display:inline-flex;color:var(--accent);font-size:.68rem;font-weight:850;letter-spacing:.055em;margin-bottom:8px}
.fieldwork-grid h3{margin:0 0 5px;font-size:.88rem;color:var(--text-strong)}
.fieldwork-grid p{margin:0;color:var(--muted);font-size:.77rem;line-height:1.55}
.auditor-reminder{display:flex;gap:14px;align-items:flex-start;margin-top:14px;padding:16px;border:1px solid color-mix(in srgb,var(--warning) 28%,var(--line));background:var(--warning-soft);border-radius:14px}
.reminder-mark{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:var(--warning);color:#fff;font-weight:900}
.auditor-reminder strong{font-size:.88rem;color:var(--text-strong)}
.auditor-reminder p{margin:4px 0 0;color:var(--muted);font-size:.79rem}

@media(max-width:1500px){
  .isms-cycle{grid-template-columns:repeat(3,1fr);gap:10px}.cycle-arrow{display:none}
  .assurance-chain{grid-template-columns:repeat(3,1fr);gap:10px}.chain-link{display:none}
}
@media(max-width:1050px){
  html.sidebar-collapsed .sidebar-collapse-control{justify-content:flex-start;padding-inline:11px}
  html.sidebar-collapsed .sidebar-user-card{justify-content:flex-start;padding:9px 10px}
  html.sidebar-collapsed .sidebar-user-copy{opacity:1;width:auto;pointer-events:auto}
  .guide-toolbar{top:76px}
  .annex-groups{grid-template-columns:repeat(2,1fr)}
  .fieldwork-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  :root{--control-size:40px}
  .topbar-actions{gap:6px}
  .topbar-control{border-radius:10px;font-size:.7rem}
  .guide-toolbar{top:76px;margin-top:-4px}
  .guide-hero{padding:23px}
  .guide-principles,.clause-grid,.assurance-compare{grid-template-columns:1fr}
  .isms-cycle,.assurance-chain{grid-template-columns:1fr}
  .annex-groups,.fieldwork-grid{grid-template-columns:1fr}
  .compare-mini{grid-template-columns:1fr}
  .audit-focus{grid-template-columns:1fr}
}
@media(max-width:480px){
  #secondScreenBtn{display:none}
  .topbar-actions{gap:5px}
  .topbar-control{width:38px;height:38px;flex-basis:38px}
}

/* =========================================================
   v0.4 READABILITY + GUIDED WORKFLOW + GENERAL DASHBOARD
   ========================================================= */
:root{--font-size:17px}
body{line-height:1.62}
.content{padding-top:26px}
.topbar h1{font-size:1.4rem}.topbar-sub{font-size:.86rem}
.page-head h2{font-size:1.32rem}.page-head p{font-size:.96rem;line-height:1.62}
.card-head h3{font-size:1.08rem}.card-note{font-size:.88rem;line-height:1.5}
.table th{font-size:.84rem}.table td{font-size:.95rem;line-height:1.5}
.badge{font-size:.78rem;padding:5px 10px}
.field label{font-size:.91rem}.help{font-size:.84rem;line-height:1.52}
.input,.select,.textarea{min-height:48px;padding:11px 13px}.textarea{min-height:122px}.textarea-large{min-height:150px}
.btn{font-size:.93rem;min-height:46px;padding:10px 15px}
.kpi-label{font-size:.91rem}.kpi-foot{font-size:.84rem}.signal p{font-size:.86rem}.section-tabs a{font-size:.9rem}
.sidebar-nav a,.sidebar-bottom a,.sidebar-collapse-control{font-size:.92rem}.brand strong{font-size:1.08rem}.brand small{font-size:.8rem}.sidebar-user-copy strong{font-size:.9rem}.sidebar-user-copy small{font-size:.76rem}
.footer{font-size:.84rem}

/* Compact SweetAlert toast with a clean custom status mark. */
.swal2-popup.isms-toast{min-width:310px!important;max-width:min(440px,calc(100vw - 28px))!important;padding:13px 15px!important;border-radius:14px!important;align-items:center!important;grid-template-columns:auto minmax(0,1fr)!important;column-gap:11px!important}
.isms-toast .swal2-icon.isms-toast-icon{width:30px!important;height:30px!important;min-width:30px!important;margin:0!important;border:0!important;border-radius:50%!important;font-size:.86rem!important;font-weight:900!important;line-height:30px!important;display:grid!important;place-items:center!important;box-shadow:none!important}
.isms-toast .swal2-icon.isms-toast-icon-success{background:var(--success-soft)!important;color:var(--success)!important}
.isms-toast .swal2-icon.isms-toast-icon-info{background:var(--info-soft)!important;color:var(--info)!important}
.isms-toast .swal2-icon.isms-toast-icon-warning{background:var(--warning-soft)!important;color:var(--warning)!important}
.isms-toast .swal2-icon.isms-toast-icon-error{background:var(--danger-soft)!important;color:var(--danger)!important}
.isms-toast .swal2-icon.isms-toast-icon-question{background:var(--accent-soft)!important;color:var(--accent)!important}
.isms-toast .swal2-title{font-size:.94rem!important;font-weight:760!important;line-height:1.38!important;margin:0!important;padding:0!important;text-align:left!important}
.isms-toast .swal2-html-container{font-size:.8rem!important;line-height:1.45!important;color:var(--muted)!important;margin:3px 0 0!important;padding:0!important;text-align:left!important}
.isms-toast .swal2-timer-progress-bar{height:2px!important;opacity:.65}

/* Guided forms */
.form-page-head{margin-bottom:20px}.form-wizard{max-width:1180px;margin:0 auto}.wizard-progress{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr) 52px minmax(0,1fr);align-items:center;margin:0 0 18px;padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}
.wizard-step-tab{border:0;background:transparent;color:var(--muted);padding:8px 9px;border-radius:11px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;min-width:0;font:inherit}.wizard-step-tab>span{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--surface3);display:grid;place-items:center;font-size:.84rem;font-weight:850;color:var(--muted);transition:.16s}.wizard-step-tab strong{display:block;font-size:.9rem;color:var(--text);line-height:1.28}.wizard-step-tab small{display:block;font-size:.76rem;color:var(--muted);margin-top:2px;line-height:1.3}.wizard-step-tab.active{background:var(--accent-soft)}.wizard-step-tab.active>span{background:var(--accent);color:#fff}.wizard-step-tab.active strong{color:var(--accent)}.wizard-step-tab.completed>span{background:var(--success-soft);color:var(--success)}.wizard-step-tab.completed>span:after{content:"✓"}.wizard-step-tab.completed>span{font-size:0}.wizard-step-tab.completed>span:after{font-size:.86rem}.wizard-connector{height:2px;background:var(--line);border-radius:99px}
.wizard-ready .form-step{display:none}.wizard-ready .form-step.active{display:block;animation:wizard-in .2s ease both}@keyframes wizard-in{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
.wizard-card{overflow:visible}.wizard-card-head{display:flex;gap:13px;align-items:flex-start;padding:21px 22px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--surface2),var(--surface));border-radius:var(--radius) var(--radius) 0 0}.wizard-number{width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:.94rem;font-weight:900}.wizard-card-head h3{margin:0 0 5px;font-size:1.13rem;color:var(--text-strong)}.wizard-card-head p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55;max-width:900px}.wizard-card .card-body{padding:22px}.wizard-actions{border-top:1px solid var(--line);padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface2);border-radius:0 0 var(--radius) var(--radius)}.wizard-hint{font-size:.82rem;color:var(--muted);font-weight:650}.required-mark{color:var(--danger);font-weight:900}.form-tip{height:100%;padding:14px 15px;border:1px solid color-mix(in srgb,var(--info) 20%,var(--line));background:var(--info-soft);border-radius:12px}.form-tip strong{display:block;color:var(--info);font-size:.88rem}.form-tip p{margin:5px 0 0;color:var(--text);font-size:.84rem;line-height:1.55}.review-box{padding:16px 17px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.review-box>strong{display:block;font-size:.92rem;color:var(--text-strong);margin-bottom:7px}.review-box ul{margin:0;padding-left:20px;color:var(--muted)}.review-box li{margin:5px 0;font-size:.85rem;line-height:1.5}
.risk-writing-example{margin-bottom:17px;padding:14px 16px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0}.risk-writing-example span{font-size:.76rem;font-weight:850;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.risk-writing-example p{margin:4px 0 0;font-size:.88rem;line-height:1.58;color:var(--text)}
.risk-live-panel{display:grid;grid-template-columns:1fr auto 1fr auto minmax(180px,1.2fr);gap:13px;align-items:stretch;margin-top:18px}.risk-live-panel>div{border:1px solid var(--line);background:var(--surface2);border-radius:13px;padding:14px 16px;text-align:center}.risk-live-panel>span{display:grid;place-items:center;color:var(--muted);font-size:1.35rem}.risk-live-panel small{display:block;color:var(--muted);font-size:.8rem}.risk-live-panel strong{display:inline-block;font-size:1.7rem;line-height:1.15;color:var(--text-strong);margin-top:4px}.risk-live-panel em{font-style:normal;color:var(--muted);font-size:.82rem;margin-left:3px}.risk-live-total{background:var(--accent-soft)!important;border-color:color-mix(in srgb,var(--accent) 28%,var(--line))!important}.risk-live-total strong{color:var(--accent)}
.risk-scale-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:11px}.risk-scale-guide span{padding:8px 10px;border-radius:9px;text-align:center;font-size:.76rem;font-weight:760}.risk-low-bg{background:var(--success-soft);color:var(--success)}.risk-medium-bg{background:var(--warning-soft);color:var(--warning)}.risk-high-bg{background:color-mix(in srgb,var(--warning-soft) 60%,var(--danger-soft));color:#bd641a}.risk-critical-bg{background:var(--danger-soft);color:var(--danger)}
.residual-summary{display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr;gap:12px;align-items:center;margin:18px 0}.residual-summary>div:not(.residual-arrow){min-height:105px;border:1px solid var(--line);border-radius:13px;background:var(--surface2);padding:14px 16px;text-align:center;display:grid;align-content:center}.residual-summary span{display:block;color:var(--muted);font-size:.8rem}.residual-summary strong{font-size:1.65rem;color:var(--text-strong);line-height:1.15;margin-top:4px}.residual-summary small{color:var(--muted)}.residual-arrow{text-align:center;color:var(--muted);font-size:1.35rem}.residual-final{border-color:color-mix(in srgb,var(--accent) 25%,var(--line))!important;background:var(--accent-soft)!important}.residual-final em{display:block;font-style:normal;font-size:.76rem;font-weight:800;margin-top:5px;color:var(--accent)}.residual-final[data-level="critical"]{background:var(--danger-soft)!important;border-color:color-mix(in srgb,var(--danger) 28%,var(--line))!important}.residual-final[data-level="critical"] strong,.residual-final[data-level="critical"] em{color:var(--danger)}.residual-final[data-level="high"]{background:color-mix(in srgb,var(--warning-soft) 52%,var(--danger-soft))!important}.residual-final[data-level="low"]{background:var(--success-soft)!important}.residual-final[data-level="low"] strong,.residual-final[data-level="low"] em{color:var(--success)}
.doc-drop-icon{font-size:2rem;line-height:1;margin-bottom:8px;color:var(--accent)}.doc-drop-actions{justify-content:center;margin-top:13px}.hash-note{margin-top:7px}

/* Dashboard for general users: broad context first, detail second. */
.overview-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:16px;margin-bottom:16px}.overview-hero-main{position:relative;overflow:hidden;padding:25px 27px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface2) 60%,var(--accent-soft) 150%);box-shadow:var(--shadow)}.overview-hero-main:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-150px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 15%,transparent),transparent 70%);pointer-events:none}.overview-eyebrow,.section-kicker{display:block;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.07em;margin-bottom:6px}.overview-hero-main h2{margin:0 0 7px;font-size:1.48rem;color:var(--text-strong);letter-spacing:-.01em}.overview-hero-main p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.62;max-width:900px}.overview-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.overview-status{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);display:flex;gap:13px;align-items:flex-start}.overview-status-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;margin-top:6px;background:var(--success);box-shadow:0 0 0 5px var(--success-soft)}.overview-status.attention .overview-status-dot{background:var(--warning);box-shadow:0 0 0 5px var(--warning-soft)}.overview-status small{display:block;color:var(--muted);font-size:.78rem;font-weight:750}.overview-status strong{display:block;margin:3px 0 5px;color:var(--text-strong);font-size:1.05rem}.overview-status p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.52}
.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.overview-metric{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);transition:.16s}.overview-metric:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 25%,var(--line));box-shadow:var(--shadow-lg)}.metric-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:.84rem;font-weight:900}.metric-audit{background:var(--info-soft);color:var(--info)}.metric-risk{background:var(--danger-soft);color:var(--danger)}.metric-finding{background:var(--warning-soft);color:var(--warning)}.metric-doc{background:var(--accent-soft);color:var(--accent)}.overview-metric span{display:block;color:var(--muted);font-size:.8rem;line-height:1.3}.overview-metric strong{display:block;color:var(--text-strong);font-size:1.55rem;line-height:1.15;margin:3px 0}.overview-metric small{display:block;color:var(--muted);font-size:.75rem;line-height:1.4}
.dashboard-grid{display:grid;gap:16px;margin-bottom:16px}.dashboard-primary-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.65fr)}.dashboard-secondary-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)}.dashboard-card-head{align-items:flex-start}.dashboard-card-head h3{margin:0}.priority-list{display:grid;gap:10px}.priority-item{display:grid;grid-template-columns:37px 1fr;gap:12px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.priority-rank{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:var(--danger-soft);color:var(--danger);font-weight:900;font-size:.82rem}.priority-copy{min-width:0}.priority-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.priority-title-row strong{font-size:.9rem;color:var(--text-strong)}.priority-score{font-size:.78rem;font-weight:850;color:var(--danger);white-space:nowrap}.priority-item p{margin:4px 0 8px;color:var(--muted);font-size:.82rem;line-height:1.48}.friendly-empty{text-align:center;padding:25px 18px}.friendly-empty.compact{padding:18px}.friendly-empty-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:var(--success-soft);color:var(--success);font-weight:900}.friendly-empty strong{display:block;color:var(--text-strong);font-size:.94rem}.friendly-empty p{margin:5px auto 0;color:var(--muted);font-size:.83rem;line-height:1.5;max-width:620px}
.assurance-stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.assurance-stat-row span{color:var(--muted);font-size:.85rem}.assurance-stat-row strong{font-size:1.22rem;color:var(--text-strong)}.assurance-stat-row.emphasis span{color:var(--text);font-weight:720}.assurance-stat-row.emphasis strong{color:var(--danger)}.assurance-divider{height:1px;background:var(--line);margin:16px 0}.closure-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.closure-title span{font-size:.84rem;color:var(--text)}.closure-title strong{color:var(--accent)}.progress.large{height:10px}.closure-block>small{display:block;margin-top:8px;color:var(--muted);font-size:.74rem;line-height:1.4}
.quick-start-card{margin-bottom:16px}.quick-start-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-start-flow a{position:relative;min-height:132px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface2);transition:.16s}.quick-start-flow a:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,var(--line));transform:translateY(-1px)}.quick-start-flow a>span{width:29px;height:29px;border-radius:9px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);font-size:.75rem;font-weight:900;margin-bottom:10px}.quick-start-flow strong{display:block;color:var(--text-strong);font-size:.9rem}.quick-start-flow small{display:block;color:var(--muted);font-size:.78rem;line-height:1.5;margin-top:5px}
.upcoming-list{display:grid;gap:9px}.upcoming-list article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-soft)}.upcoming-list article:last-child{border-bottom:0}.upcoming-date{width:52px;height:52px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);display:grid;place-items:center;align-content:center}.upcoming-date strong{font-size:1.02rem;line-height:1}.upcoming-date span{font-size:.66rem;color:var(--muted);text-transform:uppercase;margin-top:3px}.upcoming-list article>div:nth-child(2)>strong{display:block;font-size:.86rem;color:var(--text-strong)}.upcoming-list article p{margin:3px 0 0;color:var(--muted);font-size:.76rem;line-height:1.4}

/* Guide readability overrides: keep the detailed guide comfortable at the larger global scale. */
.guide-jump{font-size:.86rem}.guide-hero-note{font-size:.82rem}.guide-section-title h2{font-size:1.22rem}.guide-section-title p{font-size:.9rem}.cycle-step strong{font-size:.93rem}.cycle-step small{font-size:.83rem}.guide-principles strong{font-size:.94rem}.guide-principles p{font-size:.86rem}.clause-head h3{font-size:1rem}.clause-head p{font-size:.9rem}.audit-focus span{font-size:.75rem}.audit-focus strong{font-size:.84rem}.chain-node>span{font-size:.74rem}.chain-node strong{font-size:.9rem}.chain-node small{font-size:.81rem}.trigger-list span{font-size:.87rem}.annex-groups span{font-size:.94rem}.annex-groups small{font-size:.83rem}.assurance-col p,.assurance-bridge small{font-size:.87rem}.fieldwork-grid h3{font-size:.95rem}.fieldwork-grid p{font-size:.85rem}.auditor-reminder strong{font-size:.95rem}.auditor-reminder p{font-size:.87rem}

@media(max-width:1250px){
  .overview-metrics{grid-template-columns:repeat(2,1fr)}
  .dashboard-primary-grid,.dashboard-secondary-grid{grid-template-columns:1fr}
  .quick-start-flow{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .overview-hero{grid-template-columns:1fr}
  .wizard-progress{grid-template-columns:1fr;gap:6px}.wizard-connector{display:none}.wizard-step-tab{width:100%}
  .risk-live-panel,.residual-summary{grid-template-columns:1fr}.risk-live-panel>span,.residual-arrow{display:none}.risk-scale-guide{grid-template-columns:repeat(2,1fr)}
  .wizard-actions{flex-wrap:wrap}.wizard-actions .wizard-hint{order:3;width:100%;text-align:center}
}
@media(max-width:760px){
  :root{--font-size:16.5px}
  .overview-metrics,.quick-start-flow{grid-template-columns:1fr}
  .overview-hero-main{padding:21px}.overview-hero-main h2{font-size:1.3rem}
  .wizard-card .card-body{padding:17px}.wizard-card-head{padding:17px}.wizard-actions{padding:13px}
  .risk-scale-guide{grid-template-columns:1fr 1fr}
}

/* =========================================================
   v0.5 RESPONSIVE SYSTEM PASS
   Small-screen / tablet / short-height layout standardization
   ========================================================= */

/* Prevent grid/flex children from forcing pages wider than the viewport. */
.main-shell,.content,.card,.card-body,.page-head,.topbar,.topbar-left,.page-title-wrap,
.grid,.dashboard-grid,.overview-hero,.overview-hero-main,.overview-status,.form-wizard,
.wizard-card,.wizard-card .card-body,.table-wrap{min-width:0}

/* Sidebar geometry: brand and account area stay visible; menu list owns scrolling. */
.sidebar{
  height:100vh;
  height:100dvh;
  max-height:100dvh;
  overflow:hidden;
  padding-top:max(14px,env(safe-area-inset-top));
  padding-bottom:max(12px,env(safe-area-inset-bottom));
}
.brand-row{flex:0 0 auto}
.sidebar-nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:2px 4px 8px 0;
  margin-right:-4px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.18) transparent;
}
.sidebar-nav::-webkit-scrollbar{width:5px}
.sidebar-nav::-webkit-scrollbar-track{background:transparent}
.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.17);border-radius:999px}
.sidebar-bottom{flex:0 0 auto;min-height:0;background:var(--sidebar)}
.sidebar-user-card{max-width:100%}
.sidebar-user-copy{min-width:0}

.sidebar-mobile-close{
  border:0;background:transparent;color:var(--sidebar-muted);width:40px;height:40px;
  border-radius:10px;place-items:center;cursor:pointer;flex:0 0 40px
}
.sidebar-mobile-close:hover{background:var(--sidebar-hover);color:#fff}
.sidebar-mobile-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}

/* Tables remain readable and scroll in their own container instead of breaking the page. */
.table-wrap{
  width:100%;max-width:100%;overflow-x:auto;overflow-y:auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent
}
.table-wrap::-webkit-scrollbar{height:8px;width:8px}
.table-wrap::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.table{min-width:720px}

/* Keep long values from forcing cards wider than the viewport. */
.card p,.card td,.card strong,.card small,.help,.review-box,.priority-copy,.sidebar-user-copy,
.meta-box,.hash-note,.signal,.timeline-item{overflow-wrap:anywhere;word-break:normal}

/* Consistent compact layout on ordinary tablets. */
@media (max-width:1050px){
  body.nav-open{overflow:hidden;touch-action:none}
  .sidebar,html.sidebar-collapsed .sidebar{
    width:min(308px,calc(100vw - 28px));
    max-width:calc(100vw - 28px);
    box-shadow:20px 0 55px rgba(0,0,0,.24);
  }
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay.open{display:block}
  .brand-row{gap:8px;margin-bottom:10px;min-height:50px}
  .brand{padding-left:4px}
  .brand-mark-img{width:40px;height:40px;flex-basis:40px}
  .brand strong{font-size:1rem}.brand small{font-size:.75rem}
  .sidebar-nav{gap:3px}
  .sidebar-nav a,.sidebar-bottom a{min-height:43px;padding:8px 10px;border-radius:10px}
  .sidebar-bottom{padding-top:8px;gap:3px}
  .sidebar-user-card{min-height:58px;margin-top:5px;padding:8px 9px}
  .sidebar-avatar{width:36px;height:36px;flex-basis:36px}

  .topbar{gap:12px}
  .topbar-left{flex:1 1 auto}
  .page-title-wrap{overflow:hidden}
  .topbar-actions{flex:0 0 auto}
  .content{max-width:none}

  .table{min-width:700px}
  .page-head{align-items:stretch}
  .page-head .actions{justify-content:flex-end}
}

/* Short displays (landscape tablet / small laptop) get denser sidebar rhythm, not hidden menus. */
@media (max-width:1050px) and (max-height:720px){
  .sidebar{padding-top:max(9px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .brand-row{min-height:43px;margin-bottom:5px}
  .brand-mark-img{width:35px;height:35px;flex-basis:35px}
  .brand small{display:none}
  .sidebar-nav{gap:2px;padding-bottom:4px}
  .sidebar-nav a,.sidebar-bottom a{min-height:38px;padding:6px 9px;font-size:.86rem}
  .nav-icon{width:22px;height:22px;flex-basis:22px}.nav-icon svg{width:18px;height:18px}
  .sidebar-bottom{padding-top:5px;gap:2px}
  .sidebar-user-card{min-height:48px;padding:5px 8px;margin-top:3px}
  .sidebar-avatar{width:32px;height:32px;flex-basis:32px}
  .sidebar-user-copy small{display:none}
}

@media (max-width:900px){
  .content{padding:18px 16px 34px}
  .topbar{padding:11px 16px}
  .topbar h1{font-size:1.24rem}
  .topbar-sub{font-size:.8rem}
  .card-head{padding:15px 16px}.card-body{padding:16px}
  .overview-hero-main{padding:22px}
  .overview-metrics{gap:10px}
  .dashboard-grid{gap:13px}
  .quick-start-flow{gap:9px}

  /* Progress remains compact and horizontally scrollable instead of occupying half the screen. */
  .wizard-progress{
    display:flex;align-items:stretch;gap:7px;overflow-x:auto;overflow-y:hidden;
    padding:9px;margin-bottom:14px;scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin
  }
  .wizard-progress::-webkit-scrollbar{height:5px}
  .wizard-progress::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
  .wizard-step-tab{flex:0 0 min(230px,78vw);width:auto;scroll-snap-align:start;padding:8px}
  .wizard-connector{display:none}
}

@media (max-width:760px){
  :root{--font-size:17px;--control-size:40px}
  body{line-height:1.58}
  .content{padding:14px 12px 30px}
  .topbar{min-height:68px;padding:9px 12px;gap:8px}
  .topbar-left{gap:8px}
  .topbar-actions{gap:5px}
  .topbar-control{width:40px;height:40px;flex-basis:40px;border-radius:10px}
  .icon-btn{width:40px;height:40px;border-radius:10px}
  .page-title-wrap h1{font-size:1.16rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-sub{display:none}

  .page-head{gap:12px;margin-bottom:14px}
  .page-head h2{font-size:1.22rem}
  .page-head p{font-size:.92rem}
  .page-head .actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .page-head .actions .btn{width:100%;min-width:0;padding-inline:10px}

  .card{border-radius:14px}
  .card-head{padding:13px 14px;align-items:flex-start;flex-wrap:wrap}
  .card-body{padding:14px}
  .card-head h3{font-size:1.02rem}

  .overview-hero-main{padding:18px;border-radius:16px}
  .overview-status{padding:16px;border-radius:16px}
  .overview-metrics{grid-template-columns:1fr;gap:9px}
  .overview-metric{padding:14px}
  .quick-start-flow{grid-template-columns:1fr}
  .quick-start-flow a{min-height:auto}

  .form-grid{gap:12px}
  .input,.select,.textarea{min-height:47px}
  .select{padding-right:50px;background-position:right 16px center}
  .wizard-card-head{padding:15px}.wizard-card .card-body{padding:15px}
  .wizard-actions{padding:12px;gap:8px;display:grid;grid-template-columns:1fr 1fr}
  .wizard-actions .wizard-hint{grid-column:1/-1;order:-1;width:auto;text-align:left}
  .wizard-actions .btn{width:100%}

  .risk-live-panel,.residual-summary{gap:8px}
  .risk-live-panel>div,.residual-summary>div:not(.residual-arrow){min-height:auto;padding:12px}
  .risk-live-panel strong,.residual-summary strong{font-size:1.45rem}

  .table{min-width:660px}
  .table th,.table td{padding:10px 11px}
  .table th{font-size:.8rem}.table td{font-size:.9rem}
  .table-wrap{margin-inline:0}

  .report-sheet{padding:16px}
  .guide-toolbar{top:68px}
  .footer{padding:12px 12px 20px;font-size:.78rem}
}

@media (max-width:560px){
  /* Second-screen is not useful on a phone-sized viewport and frees topbar space. */
  #secondScreenBtn{display:none}
  .topbar-actions{gap:4px}
  .page-head .actions{grid-template-columns:1fr}
  .actions:not(.page-head .actions){gap:7px}
  .actions:not(.page-head .actions) .btn{flex:1 1 auto}

  .overview-hero-main h2{font-size:1.22rem}
  .overview-metric{grid-template-columns:42px 1fr;gap:10px}
  .metric-icon{width:42px;height:42px}
  .overview-metric strong{font-size:1.42rem}

  .wizard-step-tab{flex-basis:min(215px,82vw)}
  .wizard-step-tab small{display:none}
  .wizard-actions{grid-template-columns:1fr}
  .wizard-actions .wizard-hint{grid-column:auto}
  .risk-scale-guide{grid-template-columns:1fr}

  .upcoming-list article{grid-template-columns:46px minmax(0,1fr)}
  .upcoming-list article>.badge,.upcoming-list article>span:last-child{grid-column:2}
  .upcoming-date{width:46px;height:46px}

  .swal2-container{padding:10px!important}
  .swal2-popup.isms-swal{width:calc(100vw - 20px)!important;padding:1.2rem!important}
  .isms-swal .swal2-actions{flex-direction:column!important;gap:8px!important}
  .isms-swal .swal2-actions button{width:100%!important;min-width:0!important}
  .swal2-popup.isms-toast{min-width:0!important;width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important}
}

@media (max-width:390px){
  .sidebar,html.sidebar-collapsed .sidebar{width:calc(100vw - 16px);max-width:calc(100vw - 16px)}
  .content{padding-inline:10px}
  .topbar{padding-inline:10px}
  .topbar-control,.icon-btn{width:38px;height:38px;flex-basis:38px}
  .page-title-wrap h1{font-size:1.08rem}
  .brand strong{font-size:.96rem}
}

/* Respect landscape safe areas on notched devices. */
@supports (padding:max(0px)){
  @media (max-width:1050px){
    .sidebar{padding-left:max(13px,env(safe-area-inset-left))}
    .content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  }
}


/* ==========================================================================\n   v6.0 — Guided form & step responsive standard\n   One authoritative layer for Audit / Risk / Finding / Document wizards.\n   ========================================================================== */

/* Forms should align from the top even when help text lengths differ. */
.form-wizard{width:100%;max-width:1240px}
.wizard-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;align-items:start}
.wizard-card .field{align-content:start;min-width:0}
.wizard-card .field>label{line-height:1.42;margin:0;min-height:1.45em}
.wizard-card .input,.wizard-card .select{min-height:49px}
.wizard-card .textarea{min-height:122px}
.wizard-card .help{line-height:1.52;margin-top:1px}
.wizard-card .form-tip{height:auto;min-height:100%}

/* Step navigation is a stable three-segment control, never a horizontal scroller. */
.wizard-progress{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  padding:10px!important;
  align-items:stretch!important;
}
.wizard-connector{display:none!important}
.wizard-step-tab{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  padding:10px 11px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  align-items:center!important;
  overflow:hidden;
}
.wizard-step-tab:hover{background:var(--surface2);border-color:var(--line)!important}
.wizard-step-tab.active{background:var(--accent-soft)!important;border-color:color-mix(in srgb,var(--accent) 24%,var(--line))!important}
.wizard-step-tab.completed{background:color-mix(in srgb,var(--success-soft) 65%,var(--surface))!important;border-color:color-mix(in srgb,var(--success) 18%,var(--line))!important}
.wizard-step-tab>div{min-width:0}
.wizard-step-tab strong,.wizard-step-tab small{overflow:hidden;text-overflow:ellipsis}

/* Avoid awkward 2-column inputs once the usable content area becomes narrow. */
@media(max-width:1280px){
  .form-wizard{max-width:980px}
  .wizard-card .form-grid{grid-template-columns:1fr!important;gap:15px!important}
  .wizard-card .field.full{grid-column:auto!important}
  .wizard-card .form-tip{min-height:0}
  .risk-score-fields{grid-template-columns:1fr!important}
}

/* Tablet: keep all three steps visible and balanced. */
@media(max-width:900px){
  .form-page-head{margin-bottom:15px}
  .wizard-progress{gap:7px!important;padding:8px!important;margin-bottom:14px!important}
  .wizard-step-tab{padding:9px!important;gap:8px!important;min-height:58px}
  .wizard-step-tab>span{width:31px!important;height:31px!important;flex-basis:31px!important;border-radius:9px!important}
  .wizard-step-tab strong{font-size:.84rem!important;white-space:normal;line-height:1.25!important}
  .wizard-step-tab small{display:none!important}
  .wizard-card-head{gap:11px!important;padding:16px!important}
  .wizard-number{width:36px!important;height:36px!important;flex-basis:36px!important;border-radius:10px!important}
  .wizard-card-head h3{font-size:1.04rem!important}
  .wizard-card-head p{font-size:.86rem!important;line-height:1.55!important}
  .wizard-card .card-body{padding:16px!important}
  .wizard-actions{padding:13px 15px!important}
}

/* Phones: steps become compact tiles but remain simultaneously visible. */
@media(max-width:620px){
  .wizard-progress{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding:6px!important;border-radius:13px!important}
  .wizard-step-tab{min-height:76px;display:grid!important;grid-template-columns:1fr!important;justify-items:center;align-content:center!important;gap:5px!important;text-align:center!important;padding:7px 4px!important}
  .wizard-step-tab>span{width:29px!important;height:29px!important;flex-basis:29px!important;border-radius:9px!important;font-size:.78rem!important}
  .wizard-step-tab strong{font-size:.75rem!important;line-height:1.2!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}
  .wizard-step-tab small{display:none!important}
  .wizard-card{border-radius:14px!important}
  .wizard-card-head{display:grid!important;grid-template-columns:34px minmax(0,1fr);gap:10px!important;padding:14px!important}
  .wizard-number{width:34px!important;height:34px!important;flex-basis:34px!important}
  .wizard-card-head h3{font-size:1rem!important;margin-top:1px!important}
  .wizard-card-head p{font-size:.83rem!important;line-height:1.5!important}
  .wizard-card .card-body{padding:14px!important}
  .wizard-card .form-grid{gap:14px!important}
  .wizard-card .input,.wizard-card .select{min-height:48px!important}
  .wizard-card .textarea{min-height:116px!important}
  .wizard-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:12px 14px!important}
  .wizard-actions .wizard-hint{grid-column:auto!important;order:-1!important;width:auto!important;text-align:left!important}
  .wizard-actions>.btn,.wizard-actions>.actions,.wizard-actions>.actions .btn{width:100%!important}
  .wizard-actions>.actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
}

@media(max-width:390px){
  .wizard-step-tab{min-height:70px;padding-inline:2px!important}
  .wizard-step-tab strong{font-size:.7rem!important}
  .wizard-step-tab>span{width:27px!important;height:27px!important;flex-basis:27px!important}
  .wizard-card-head{grid-template-columns:31px minmax(0,1fr);padding:12px!important}
  .wizard-number{width:31px!important;height:31px!important;flex-basis:31px!important}
  .wizard-card .card-body{padding:12px!important}
  .wizard-actions{padding:11px 12px!important}
}

/* Second-screen toast intentionally has no success/check icon. */
.swal2-popup.isms-toast.isms-toast-no-icon{
  grid-template-columns:minmax(0,1fr)!important;
  column-gap:0!important;
  padding:13px 16px!important;
}
.isms-toast-no-icon .swal2-icon{display:none!important}
.isms-toast-no-icon .swal2-title,.isms-toast-no-icon .swal2-html-container{grid-column:1!important}

/* ==========================================================================
   v9.0 — Audit context + login identity standard
   ========================================================================== */

/* Context-aware audit form: small visual cue only; meaning is controlled by JS. */
#auditOrganizationField{transition:background-color .18s ease,border-color .18s ease}
#auditOrganizationLabel{display:flex;align-items:center;gap:7px}

/* Modern ISMS login background — CSS only, no large background asset to download. */
.login-page{
  position:relative;
  isolation:isolate;
  min-height:100dvh;
  overflow:auto;
  padding:clamp(24px,4vw,54px);
  background:
    radial-gradient(circle at 12% 17%,color-mix(in srgb,var(--accent) 18%,transparent) 0,transparent 31%),
    radial-gradient(circle at 88% 80%,color-mix(in srgb,var(--info) 13%,transparent) 0,transparent 34%),
    linear-gradient(135deg,color-mix(in srgb,var(--surface2) 86%,var(--bg)),var(--bg) 58%,color-mix(in srgb,var(--accent-soft) 36%,var(--bg)));
}
.login-page::before{
  content:"";
  position:fixed;
  z-index:-3;
  inset:0;
  pointer-events:none;
  opacity:.44;
  background-image:
    linear-gradient(color-mix(in srgb,var(--line) 46%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--line) 46%,transparent) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:linear-gradient(115deg,#000 0,rgba(0,0,0,.76) 42%,transparent 78%);
  mask-image:linear-gradient(115deg,#000 0,rgba(0,0,0,.76) 42%,transparent 78%);
}
.login-page::after{
  content:"";
  position:fixed;
  z-index:-2;
  width:min(48vw,640px);
  aspect-ratio:1;
  right:-8vw;
  bottom:-20vh;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent) 15%,transparent),transparent 68%);
  filter:blur(2px);
}
.login-bg-mark{
  position:fixed;
  z-index:-1;
  width:min(42vw,580px);
  aspect-ratio:1;
  left:clamp(24px,7vw,110px);
  top:50%;
  transform:translateY(-50%);
  background:url("../img/isms-auditor-mark.svg") center/contain no-repeat;
  opacity:.045;
  filter:saturate(.65);
  pointer-events:none;
}
html[data-theme="dark"] .login-bg-mark{opacity:.055;filter:saturate(.8) brightness(1.25)}

.login-shell{
  width:min(1160px,100%);
  min-height:min(700px,calc(100dvh - clamp(48px,8vw,108px)));
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);
  align-items:center;
  gap:clamp(36px,6vw,84px);
  margin:auto;
}
.login-context{max-width:610px;padding:20px 0}
.login-context-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--surface) 72%,transparent);
  color:var(--accent);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.08em;
  backdrop-filter:blur(10px);
}
.login-context h2{
  max-width:590px;
  margin:18px 0 12px;
  color:var(--text-strong);
  font-size:clamp(2rem,3.25vw,3.35rem);
  line-height:1.13;
  letter-spacing:-.035em;
}
.login-context>p{max-width:570px;margin:0;color:var(--muted);font-size:1rem;line-height:1.75}
.login-context-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:25px}
.login-context-flow span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:color-mix(in srgb,var(--surface) 78%,transparent);
  color:var(--text-strong);
  font-size:.82rem;
  font-weight:750;
  box-shadow:0 5px 18px rgba(16,24,40,.035);
  backdrop-filter:blur(8px);
}
.login-context-flow i{font-style:normal;color:var(--muted);font-size:.9rem}
.login-card{
  width:100%;
  max-width:500px;
  justify-self:end;
  padding:34px;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  border-radius:24px;
  background:color-mix(in srgb,var(--surface) 93%,transparent);
  box-shadow:0 24px 70px rgba(16,24,40,.13);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
html[data-theme="dark"] .login-card{box-shadow:0 28px 80px rgba(0,0,0,.38);background:color-mix(in srgb,var(--surface) 94%,transparent)}
.login-brand{margin-bottom:27px}
.login-logo{width:56px;height:56px;filter:drop-shadow(0 8px 18px rgba(185,43,98,.18))}
.login-card h1{font-size:1.6rem;letter-spacing:-.02em}
.login-card .field{gap:7px}
.login-card .input{min-height:52px;border-radius:12px}
.login-card .btn.primary{width:100%;min-height:50px;margin-top:2px}
.login-theme{
  z-index:10;
  right:max(20px,env(safe-area-inset-right));
  top:max(20px,env(safe-area-inset-top));
  width:44px;
  height:44px;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--surface) 88%,transparent);
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
}

@media(max-width:980px){
  .login-page{padding:72px 24px 28px}
  .login-shell{min-height:auto;grid-template-columns:1fr;gap:26px;max-width:620px}
  .login-context{text-align:center;max-width:none;padding:0 8px}
  .login-context h2{margin-inline:auto;font-size:clamp(1.75rem,6vw,2.5rem)}
  .login-context>p{margin-inline:auto}
  .login-context-flow{justify-content:center}
  .login-card{justify-self:center;max-width:520px}
  .login-bg-mark{width:min(72vw,520px);left:50%;top:30%;transform:translate(-50%,-50%);opacity:.035}
}
@media(max-width:600px){
  .login-page{padding:70px 16px 20px}
  .login-context{display:none}
  .login-shell{display:block;width:100%;max-width:500px;margin:auto}
  .login-card{padding:27px 21px;border-radius:20px}
  .login-brand{gap:12px;margin-bottom:23px}
  .login-logo{width:50px;height:50px}
  .login-card h1{font-size:1.42rem}
  .login-bg-mark{width:90vw;top:50%}
}

/* v1.0 — Buddhist Era date input standard */
.be-date-picker{
  display:grid;
  grid-template-columns:minmax(78px,.72fr) minmax(150px,1.45fr) minmax(132px,1.05fr);
  gap:10px;
  width:100%;
  align-items:center;
}
.be-date-picker .select{min-width:0;width:100%;}
.be-date-picker.has-value .be-date-year{font-weight:700;}
@media (max-width:700px){
  .be-date-picker{
    grid-template-columns:74px minmax(118px,1.35fr) minmax(112px,1fr);
    gap:7px;
  }
  .be-date-picker .select{
    padding-left:10px;
    padding-right:30px;
    font-size:15.5px;
  }
}
@media (max-width:390px){
  .be-date-picker{
    grid-template-columns:68px minmax(108px,1.3fr) minmax(108px,1fr);
    gap:6px;
  }
  .be-date-picker .select{font-size:15px;padding-left:8px;padding-right:27px;}
}


/* ==========================================================================\n   v11.0 — Annex A auditor evidence library\n   ========================================================================== */
.annex-groups-clickable{align-items:stretch}
.annex-groups-clickable .annex-group-link{
  display:flex;flex-direction:column;gap:5px;min-width:0;text-decoration:none;color:inherit;
  padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.annex-groups-clickable .annex-group-link:hover{
  transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));box-shadow:var(--shadow)
}
.annex-groups-clickable .annex-group-link strong{font-size:1.55rem;color:var(--text-strong);line-height:1}
.annex-groups-clickable .annex-group-link span{font-size:.98rem;font-weight:850;color:var(--text-strong)}
.annex-groups-clickable .annex-group-link small{color:var(--muted);line-height:1.55}
.annex-guidance{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:start;margin-top:16px}
.annex-guidance strong{white-space:nowrap;color:var(--text-strong)}
.annex-guidance span{line-height:1.7}
.annex-control-library{display:grid;gap:22px;margin-top:20px}
.annex-control-group{scroll-margin-top:88px;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden;box-shadow:0 8px 28px rgba(16,24,40,.035)}
.annex-control-group-head{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 38%,var(--surface)),var(--surface) 70%)}
.annex-group-code{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));font-weight:900;color:var(--accent);box-shadow:0 5px 16px rgba(16,24,40,.04)}
.annex-control-group-head h3{margin:0;color:var(--text-strong);font-size:1.15rem;letter-spacing:-.01em}
.annex-control-group-head h3 span{color:var(--muted);font-size:.86rem;font-weight:750}
.annex-control-group-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.annex-control-list{display:grid}
.annex-control-item{border-bottom:1px solid var(--line);background:var(--surface)}
.annex-control-item:last-child{border-bottom:0}
.annex-control-item>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:78px minmax(0,1fr) 34px;gap:14px;align-items:center;min-height:72px;padding:13px 18px;transition:background-color .15s ease}
.annex-control-item>summary::-webkit-details-marker{display:none}
.annex-control-item>summary:hover{background:color-mix(in srgb,var(--surface2) 70%,var(--surface))}
.annex-control-item[open]>summary{background:color-mix(in srgb,var(--accent-soft) 20%,var(--surface));border-bottom:1px solid var(--line)}
.annex-control-code{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 34%,var(--surface));color:var(--accent);font-size:.83rem;font-weight:900;white-space:nowrap}
.annex-control-title{display:grid;gap:2px;min-width:0}
.annex-control-title strong{color:var(--text-strong);font-size:.98rem;line-height:1.45}
.annex-control-title small{color:var(--muted);font-size:.79rem;line-height:1.45}
.annex-control-chevron{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--muted);font-size:1.1rem;font-weight:900;transition:transform .16s ease,background-color .16s ease}
.annex-control-item[open] .annex-control-chevron{transform:rotate(180deg);background:var(--surface)}
.annex-control-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:16px 18px 18px;background:color-mix(in srgb,var(--surface2) 42%,var(--surface))}
.annex-audit-lens,.annex-evidence-example{padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface);min-width:0}
.annex-evidence-example{border-color:color-mix(in srgb,var(--accent) 18%,var(--line));background:color-mix(in srgb,var(--accent-soft) 17%,var(--surface))}
.annex-body-label{display:block;margin-bottom:6px;color:var(--muted);font-size:.73rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}
.annex-control-body p{margin:0;color:var(--text);font-size:.91rem;line-height:1.7}
.annex-bottom-notes .card{height:100%}
@media(max-width:900px){
  .annex-guidance{grid-template-columns:1fr}
  .annex-guidance strong{white-space:normal}
  .annex-control-body{grid-template-columns:1fr}
}
@media(max-width:620px){
  .annex-control-group{border-radius:14px}
  .annex-control-group-head{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:14px}
  .annex-group-code{width:46px;height:46px;border-radius:12px;font-size:.86rem}
  .annex-control-group-head h3{font-size:1.03rem}
  .annex-control-item>summary{grid-template-columns:66px minmax(0,1fr) 28px;gap:9px;min-height:68px;padding:11px 12px}
  .annex-control-code{font-size:.75rem;padding-inline:7px}
  .annex-control-title strong{font-size:.9rem}
  .annex-control-title small{font-size:.73rem}
  .annex-control-body{padding:12px;gap:10px}
  .annex-audit-lens,.annex-evidence-example{padding:13px}
  .annex-control-body p{font-size:.87rem}
}

/* ===== v1.2 Document batch / multi-part metadata ===== */
.document-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}
.document-mode-option{position:relative;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface2);cursor:pointer;transition:.18s ease;min-height:92px}
.document-mode-option input{position:absolute;opacity:0;pointer-events:none}
.document-mode-option:hover{border-color:var(--accent);transform:translateY(-1px)}
.document-mode-option.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.document-mode-icon{grid-row:1/3;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font-size:21px}
.document-mode-option strong{font-size:1rem;line-height:1.35}
.document-mode-option small{display:block;margin-top:4px;color:var(--muted);line-height:1.45}
.optional-label{font-weight:500;color:var(--muted);font-size:.88em}.compact-top-gap{margin-top:12px}
.document-batch-drop{margin-bottom:16px}.document-batch-drop input[type=file]{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.batch-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.batch-summary>div{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}
.batch-summary small{display:block;color:var(--muted);margin-bottom:3px}.batch-summary strong{font-size:1.05rem}
.batch-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}.batch-tools .help{margin:0}
.document-file-list{display:grid;gap:10px}.document-file-row{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.document-file-main{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px}
.document-part-number{width:34px;height:34px;border-radius:10px;background:var(--surface2);border:1px solid var(--line);display:grid;place-items:center;font-weight:750;font-variant-numeric:tabular-nums}
.document-file-info{min-width:0}.document-file-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-file-info .card-note{margin-top:3px}
.document-file-actions{justify-content:flex-end}.document-file-actions .btn{min-height:38px;padding:7px 11px;font-size:.9rem}
.document-file-details{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:14px;padding:14px 16px;border-top:1px solid var(--line);background:var(--surface2)}
.document-file-separate-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(150px,.6fr);gap:10px;grid-column:1/-1}
.mini-field{display:grid;gap:6px;min-width:0}.mini-field>span{font-size:.88rem;color:var(--muted);font-weight:650}.mini-field .input,.mini-field .select{min-height:42px}
.be-date-picker.compact{grid-template-columns:minmax(72px,.55fr) minmax(130px,1fr) minmax(112px,.8fr);gap:7px}.be-date-picker.compact .select{min-height:42px;padding-top:7px;padding-bottom:7px;font-size:.92rem}
.document-file-hash code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:.78rem}
.document-hash-note{margin-top:16px}.document-batch-review p{margin:.4rem 0 0}
.document-history-stack{display:grid;gap:16px}.document-version-card{overflow:visible}.document-version-head{align-items:flex-start;gap:14px}.document-version-kicker{font-size:.82rem;font-weight:750;color:var(--accent);margin-bottom:4px}.document-version-stats{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.change-summary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.change-summary-row>div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.change-summary-row strong{display:block;font-size:1.08rem}.change-summary-row small{color:var(--muted)}
.document-set-date{margin-bottom:12px}.document-source-ref{margin-top:14px}.document-version-notes{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.document-version-notes p{margin:.4rem 0 0;white-space:normal}.document-auditor-tip{margin-top:18px}

@media (max-width:1280px){
  .document-file-details{grid-template-columns:1fr}.document-file-separate-fields{grid-template-columns:1fr 180px}
}
@media (max-width:860px){
  .document-mode-grid{grid-template-columns:1fr}.batch-summary{grid-template-columns:repeat(3,1fr)}
  .document-file-main{grid-template-columns:36px minmax(0,1fr) auto}.document-file-main>.badge{grid-column:2}.document-file-actions{grid-column:2/4;justify-content:flex-start}
  .document-file-separate-fields{grid-template-columns:1fr}.be-date-picker.compact{grid-template-columns:.55fr 1fr .8fr}.document-version-head{display:block}.document-version-stats{justify-content:flex-start;margin-top:10px}
}
@media (max-width:620px){
  .batch-summary{grid-template-columns:1fr}.document-file-main{padding:12px;gap:9px}.document-file-details{padding:12px;gap:12px}.document-file-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.document-file-actions .btn{width:100%}
  .be-date-picker.compact{grid-template-columns:1fr}.change-summary-row{grid-template-columns:repeat(2,1fr)}
}
