:root{
  --bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafd;--ink:#122033;--muted:#65748b;
  --line:#e1e8f2;--line-strong:#cbd8ea;--blue:#2f67ff;--blue-2:#1f55e5;--blue-soft:#eef4ff;
  --green:#20b77a;--red:#c93648;--nav:#0f1726;--nav-2:#17243a;--shadow:0 14px 34px rgba(21,35,62,.10);
  --volume-below-bg:#ffe4e6;--volume-below-border:#e11d48;--volume-below-ink:#881337;
  --volume-equal-bg:#dcfce7;--volume-equal-border:#16a34a;--volume-equal-ink:#14532d;
  --volume-above-bg:#fef3c7;--volume-above-border:#d97706;--volume-above-ink:#713f12;
  --volume-neutral-bg:#f1f5f9;--volume-neutral-border:#94a3b8;--volume-neutral-ink:#334155;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.45 Inter,"Segoe UI",Arial,sans-serif;overflow:hidden}
button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app{height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr);transition:grid-template-columns .22s ease}
.app.collapsed{grid-template-columns:72px minmax(0,1fr)}
aside{min-width:0;background:linear-gradient(180deg,var(--nav),var(--nav-2));color:#c8d2e1;padding:16px 12px;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;margin:4px 4px 22px;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ffffff14;color:#8fb0ff}
.menu-toggle{width:100%;height:40px;border:0;border-radius:10px;background:#ffffff10;color:#d6e0ee;display:flex;align-items:center;gap:10px;padding:0 12px;margin-bottom:18px}
.menu-toggle:hover{background:#ffffff1a}.menu-toggle span{font-size:18px}.menu-toggle b{font-weight:700}
.section-title{margin:18px 10px 7px;color:#7d8da7;font-size:10px;font-weight:850;letter-spacing:.8px;text-transform:uppercase}
.nav{width:100%;height:38px;border:0;border-radius:10px;background:transparent;color:#cbd5e1;display:flex;align-items:center;gap:10px;padding:0 10px;margin:2px 0;text-align:left}
.nav:hover{background:#ffffff10;color:#fff}.nav.active{background:linear-gradient(90deg,#3d73f4,#2d60df);color:#fff;box-shadow:0 10px 22px #07101f3d}
.nav-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px;font-style:normal;color:#94a9cc}.nav span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app.collapsed aside{padding:16px 10px}.app.collapsed .brand{justify-content:center}.app.collapsed .brand span:last-child,.app.collapsed .menu-toggle b,.app.collapsed .section-title,.app.collapsed .nav span{display:none}
.app.collapsed .menu-toggle{justify-content:center;padding:0}.app.collapsed .nav{justify-content:center;width:48px;height:44px;margin:4px auto;padding:0}
.app.collapsed .nav[title]:hover:after{content:attr(title);position:fixed;left:78px;background:#101828;color:#fff;padding:7px 10px;border-radius:8px;box-shadow:0 12px 24px #0004;white-space:nowrap;z-index:80;font-size:12px}
main{min-width:0;height:100vh;overflow:auto;padding:16px 22px}main.fill{overflow:hidden;display:flex;flex-direction:column}main.fill>*{flex:0 0 auto}main.fill .table-card{height:auto;flex:1 1 auto;min-height:0}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.page-topline{display:flex;justify-content:flex-end;margin:0 0 10px}
.page-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.eyebrow{margin:0 0 3px;color:#7b879a;text-transform:uppercase;font-size:10px;font-weight:850;letter-spacing:1px}
.title{margin:0;font-size:20px;letter-spacing:-.3px}.meta{margin:3px 0 0;color:var(--muted);font-size:12px}
.identity{display:flex;align-items:center;gap:8px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;box-shadow:0 4px 12px #13213a0b;color:#536176}
.identity:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.search{height:38px;width:min(360px,100%);border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;outline:0}
.search:focus,.admin-field input:focus,.admin-field select:focus,.filter-search:focus{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}
.btn{height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#34445a;padding:0 12px;font-weight:700}
.btn:hover{background:#f3f6fb}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 8px 18px #2f67ff2d}.btn.primary:hover{background:var(--blue-2)}
.btn.compact{height:31px;padding:0 9px;font-size:12px}.btn.danger{border-color:#f0c9ce;color:var(--red);background:#fff}.btn.danger:hover{background:#fff1f3}.btn.icon{width:34px;padding:0;font-size:18px}
.spacer{flex:1}.view-control{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 12px}.vc-field{display:flex;align-items:center;gap:7px}.vc-field>span{font-size:11px;color:var(--muted);font-weight:700}.view-control select{height:32px;border:1px solid var(--line);background:#f7f9fd;border-radius:9px;padding:0 26px 0 9px;color:#34445a;outline:0}.view-control select:focus{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}
.chip-line{position:relative;z-index:5;display:flex;gap:7px;flex-wrap:wrap;min-height:0;margin-bottom:11px}.chip,.selection-note{display:flex;align-items:center;gap:6px;background:var(--blue-soft);border:1px solid #d5e3ff;color:#285cc4;border-radius:999px;padding:5px 8px;font-size:11px}.chip button,.selection-note button{border:0;background:#d8e6ff;color:#285cc4;border-radius:6px;font-weight:850}
.table-card{position:relative;height:calc(100vh - 190px);min-height:360px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.pinned-editor{flex:0 0 auto;border-bottom:1px solid var(--line);background:var(--surface-2);box-shadow:0 8px 18px rgba(21,35,62,.10);z-index:9}
.pinned-editor-label{padding:6px 12px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.pinned-editor-shell{overflow-x:auto;overflow-y:hidden;max-height:112px}.pinned-editor .grid{background:var(--surface)}
.back-btn{display:inline-flex;align-items:center;gap:4px;height:26px;margin-bottom:6px;padding:0 10px;font-size:11px;font-weight:700;color:#5b6b82;background:#eef1f6;border-color:transparent;border-radius:8px}.back-btn:hover{background:#e2e8f1;color:var(--ink)}.title-sub{margin-left:8px;font-size:12px;font-weight:600;color:var(--muted);letter-spacing:0}
.scroll-buttons{position:absolute;right:18px;bottom:26px;display:flex;flex-direction:column;gap:9px;z-index:6;pointer-events:none}
.scroll-btn{pointer-events:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;color:var(--blue);font-size:19px;line-height:1;box-shadow:0 10px 24px rgba(21,35,62,.20);opacity:.92;transition:opacity .15s,transform .15s,background .15s}
.scroll-btn:hover{opacity:1;transform:translateY(-1px);background:var(--blue-soft)}
.table-shell{overflow-anchor:none;flex:1;min-height:0;overflow-y:auto;overflow-x:auto;position:relative}
.table-shell::-webkit-scrollbar{width:14px;height:16px}
.table-shell::-webkit-scrollbar-track{background:var(--surface-2,#fbfcff);border-top:1px solid var(--line)}
.table-shell::-webkit-scrollbar-thumb{background:#a9b9ce;border:3px solid #fbfcff;border-radius:999px}
.table-shell::-webkit-scrollbar-thumb:hover{background:#7c92b0}
[data-theme="dark"] .table-shell::-webkit-scrollbar-track{background:#16202e;border-color:#26344b}
[data-theme="dark"] .table-shell::-webkit-scrollbar-thumb{background:#3a4a63;border-color:#16202e}
.bottom-scroll{display:none!important}.grid{overflow-anchor:none;border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}
.grid th,.grid td{border-right:1px solid #e9eef6;border-bottom:1px solid #e9eef6;padding:8px 10px;min-width:150px;max-width:360px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff}
.grid th{position:sticky;top:0;z-index:4;background:#f8fafd;color:#42526a;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.45px;text-align:left;height:44px;overflow:visible}
.grid th.row-head,.grid td.row-control{position:sticky!important;left:0;z-index:6;width:54px;min-width:54px;max-width:54px;text-align:center;background:#f8fbff;padding:0}
.grid th.row-head{z-index:8}.grid tr:hover td{background:#f8fbff}.grid tr:hover td.row-control{background:#eef5ff}.grid td.editable{background:#fffdf5}.grid td.editable:focus{outline:2px solid #7da1ff;outline-offset:-2px;background:#fff}
.grid tr.row-added td{background:#fff7d6!important;transition:background 1.8s ease}.grid td.editable{white-space:nowrap}.grid tr.selected td{background:#eaf2ff!important}.grid .selected-col{background:#ecf4ff!important}.grid tr.dragging{opacity:.45}.grid tr.drag-over td{box-shadow:inset 0 2px var(--blue)}
.grid td.long-text-cell>.cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grid td.long-text-cell.cell-editing>.cell-text{white-space:pre-wrap;overflow-wrap:anywhere}
.grid tr.virtual-spacer td{padding:0!important;border:0!important;background:transparent!important;min-height:0;pointer-events:none}
.grid td.save-conflict{box-shadow:inset 0 0 0 2px #d83a4b!important;background:#fff0f2!important}
.grid td.cell-selected{background:#dceaff!important;user-select:none}.grid td.cell-active{box-shadow:inset 0 0 0 2px var(--blue);position:relative}.grid td.editable:not(.cell-editing){caret-color:transparent;cursor:cell;user-select:none}.grid td.editable.cell-editing{cursor:text;user-select:text;box-shadow:inset 0 0 0 2px var(--blue);background:#fff!important}
.assignee-cell{padding:4px 6px!important}.assignee-select{width:100%;height:30px;border:1px solid #dbe4f1;border-radius:8px;background:#fff;color:#16233a;padding:0 26px 0 8px;outline:0}.assignee-select:focus{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}
.row-selector{display:grid;place-items:center;width:100%;height:100%;border:0;background:transparent;color:#536985;font-variant-numeric:tabular-nums}.row-selector:hover{background:#e8f1ff;color:var(--blue)}
.row-menu-btn{width:26px;height:26px;border:1px solid #dce5f2;border-radius:8px;background:#fff;color:#738198;line-height:1;font-size:17px}.row-menu-btn:hover{border-color:#8eaaff;color:var(--blue)}
.grid tr:not(:hover) .row-menu-btn{opacity:0;pointer-events:none}
.col-head{display:flex;align-items:center;gap:7px}.col-index{display:inline-grid;place-items:center;min-width:24px;height:20px;border:0;border-radius:7px;background:#e8eef8;color:#526985;font-size:10px;font-weight:900;letter-spacing:0;text-align:center;padding:0 6px;cursor:pointer}.col-index:hover{background:var(--blue);color:#fff}.col-label{flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;line-height:1.2;cursor:pointer}
.filter-toggle{border:0;border-radius:8px;background:#edf2fa;color:#536985;width:24px;height:24px;line-height:1;flex:0 0 24px}.filter-toggle:hover,.filter-toggle.active{background:var(--blue);color:#fff}
.resize-anchor{position:sticky;overflow:visible}.col-resize{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;z-index:12;background:transparent;touch-action:none;user-select:none}.col-resize:after{content:"";display:block;width:2px;height:calc(100% - 12px);margin:6px auto;border-radius:3px;background:transparent}.col-resize:hover:after,.col-resize.active:after{background:var(--blue);box-shadow:0 0 0 2px #2f67ff1f}
.single-row-resize{position:absolute;left:5px;right:5px;bottom:-4px;height:8px;cursor:row-resize;z-index:10;border-radius:8px;background:transparent;touch-action:none;user-select:none}.single-row-resize:hover,.single-row-resize.active{background:var(--blue)}
.bottom-scroll{height:24px;overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--line);background:#fbfcff}.bottom-scroll>div{height:1px}.bottom-scroll::-webkit-scrollbar{height:18px}.bottom-scroll::-webkit-scrollbar-thumb{background:#a9b9ce;border:3px solid #fbfcff;border-radius:999px}
.selection-stats{display:flex;align-items:center;gap:12px;min-height:30px;padding:6px 12px;border-top:1px solid var(--line);background:#f7faff;color:#41516a;font-size:11px;white-space:nowrap;overflow:auto}.selection-stats b{color:#1c2d46;margin-right:3px}.load-status{height:28px;padding:6px 12px;color:#758399;font-size:11px;text-align:right;background:#fff}
.filter-panel,.row-menu{position:fixed;z-index:70;background:#fff;border:1px solid #dce4ef;border-radius:14px;box-shadow:0 20px 46px rgba(15,27,48,.23)}
.filter-panel{width:340px;padding:14px}.filter-panel h3{font-size:14px;margin:0 0 10px}.filter-search{width:100%;height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;outline:0}.filter-actions{display:flex;gap:7px;margin:10px 0}.filter-list{max-height:290px;overflow:auto;border-top:1px solid #edf0f4}.filter-item{display:flex;align-items:center;gap:8px;padding:7px 2px;cursor:pointer}.filter-item input{accent-color:var(--blue)}
.filter-panel.report-rd-panel{z-index:160}
.rd-filter-trigger{display:block;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.row-menu{width:194px;padding:6px}.row-menu button{width:100%;border:0;background:#fff;text-align:left;border-radius:9px;padding:9px;color:#34445a}.row-menu button:hover{background:#f2f6fb}.row-menu .danger{color:var(--red)}
.workspace{width:100%;max-width:none}.report-hero{display:flex;justify-content:space-between;align-items:flex-end;background:linear-gradient(135deg,#15253e,#254b7f);color:#fff;border-radius:18px;padding:27px 28px;margin-bottom:18px;box-shadow:0 16px 32px #10223d2c}.report-hero .eyebrow{color:#adc6ef}.report-hero .meta{color:#d0dbee}.report-count{font-size:12px;background:#ffffff17;border:1px solid #ffffff26;border-radius:999px;padding:7px 11px}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px}.report-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;min-height:168px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 6px 16px #14213d0a;transition:.16s}.report-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px #13234018}.report-type{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#5c7db8;background:#eef4ff;border-radius:7px;padding:5px 7px;margin-bottom:17px}.report-card h3{margin:0;font-size:16px}.report-card p{margin:8px 0 16px;color:var(--muted);font-size:12px}.report-card .btn{margin-top:auto}
.report-page{max-width:none}.report-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-6px 0 16px}.report-control{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 10px;box-shadow:0 8px 22px #14213d0a}.report-control span{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#65748a;font-weight:900}.report-control select{height:34px;border:1px solid #dbe4f1;border-radius:10px;background:#f8fbff;color:#16233a;padding:0 30px 0 10px;outline:0}.report-control select:focus{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}.report-blocks{display:grid;gap:16px}.report-block{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.report-block-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafd)}.report-block-head h3{margin:0;font-size:16px}.report-range{font-size:11px;color:#66758d;background:#eef4ff;border:1px solid #d7e4ff;border-radius:999px;padding:5px 8px;white-space:nowrap}.report-table-shell{overflow-anchor:none;overflow:auto;max-height:72vh}.report-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.report-table th,.report-table td{border-right:1px solid #e9eef6;border-bottom:1px solid #e9eef6;padding:8px 10px;min-width:120px;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff}.report-table thead th{position:sticky;top:0;z-index:2;background:#eef4ff;color:#526985;font-size:10px;font-weight:900;text-align:left}.report-table .row-number{position:sticky;left:0;z-index:3;width:54px;min-width:54px;max-width:54px;text-align:center;background:#f8fbff;color:#526985;font-variant-numeric:tabular-nums}.report-table thead .row-number{z-index:4;background:#e8eef8}.report-table tr.report-header-row td{background:#f6f9ff;font-weight:850;color:#21334f}.report-table tbody tr:hover td{background:#fbfdff}.report-table tbody tr:hover .row-number{background:#eef5ff}.report-empty{padding:24px;color:var(--muted);text-align:center}
.admin-workspace{width:100%;max-width:none}.admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:15px}.admin-stat,.admin-card,.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 18px #14213d0b}.admin-stat{padding:14px 16px}.admin-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:850}.admin-stat b{display:block;font-size:24px;margin-top:3px}.admin-card,.card{padding:18px;margin-bottom:14px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-card h3{margin:0 0 4px;font-size:16px}.admin-card p{margin:0 0 14px;color:var(--muted)}.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;align-items:end}.admin-form .wide{grid-column:1/-1}.admin-form>.btn.primary:not(.wide){justify-self:start;min-width:170px;padding-inline:18px}.admin-field{display:grid;gap:5px;color:#5e6d82;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.35px}.admin-field input,.admin-field select{height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 10px;color:var(--ink);outline:0}.checkbox-field{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:13px}.checkbox-field input{width:18px;height:18px;accent-color:var(--blue)}.admin-toolbar{display:flex;gap:9px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:14px 0 9px}.admin-toolbar p{margin:0}.admin-search{height:36px;min-width:230px;border:1px solid var(--line);border-radius:9px;padding:0 10px}.user-table-wrap{overflow-anchor:none;border:1px solid var(--line);border-radius:12px;overflow:auto}.user-table{width:100%;border-collapse:collapse;min-width:820px}.user-table th,.user-table td{padding:10px 12px;border-bottom:1px solid #edf0f4;text-align:left}.user-table th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#728097;background:#fafbfc}.status{display:inline-flex;align-items:center;gap:6px;font-weight:700}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}.status.blocked{color:#9b424b}.status.blocked:before{background:#d35a64}.role-tag{display:inline-block;border-radius:7px;background:#edf3ff;color:#315fc5;padding:4px 7px;font-size:11px;font-weight:800}.user-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.empty-state{padding:20px;text-align:center;color:var(--muted)}.profile-table{min-width:1080px}.inline-admin-input{width:100%;height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:0 10px;outline:0}.inline-admin-input.saving{border-color:#d69b16}.inline-admin-input.saved{border-color:var(--green)}.inline-admin-input.invalid{border-color:#d35a64}.fio-editor{display:grid;grid-template-columns:minmax(210px,1fr) auto;gap:7px;align-items:center}
.login{width:min(430px,calc(100vw - 32px));margin:14vh auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:28px}.login h1{margin:0 0 4px}.login label{display:grid;gap:5px;margin-top:12px;color:#59687d;font-weight:750}.login input{height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px}.login .btn{width:100%;margin-top:16px}.form-error{color:var(--red);min-height:18px}
.toast-host{position:fixed;top:14px;left:50%;transform:translateX(-50%);display:grid;gap:8px;z-index:200;justify-items:center;pointer-events:none}
.toast-host .toast{pointer-events:auto}.toast{background:#111827;color:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 16px 34px #0004;max-width:360px}.toast.error{background:#9f2635}.toast.ok{background:#176b4d}
.language-switcher{display:flex;align-items:center;gap:8px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:0 4px 12px #13213a0b;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.35px}
.language-switcher select{height:26px;border:1px solid #cbd8ea;border-radius:999px;background:#f8fbff;color:#16233a;font-weight:800;outline:0;padding:0 24px 0 9px;text-transform:none}
.language-switcher select:focus{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}
.modal-host{position:fixed;inset:0;background:rgba(7,16,31,.5);z-index:120;display:grid;place-items:center;padding:16px;animation:modalFade .14s ease}
.modal{width:min(420px,100%);background:#fff;border-radius:16px;padding:22px 22px 18px;box-shadow:0 30px 80px rgba(7,16,31,.4);animation:modalPop .16s cubic-bezier(.2,.8,.3,1)}
.modal h3{margin:0 0 6px;font-size:18px;letter-spacing:-.2px}
.modal p{color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.5}
.modal input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;margin:0 0 18px;outline:0}
.modal input:focus{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}
.modal.cell-text-modal{width:min(760px,calc(100vw - 32px));max-width:none}
.cell-text-modal textarea{display:block;width:100%;min-height:280px;max-height:60vh;margin:14px 0 18px;padding:12px;border:1px solid var(--line);border-radius:8px;resize:vertical;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;outline:0}
.cell-text-modal textarea:focus{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}
.modal.conflict-modal{width:min(620px,calc(100vw - 32px));max-width:none}
.conflict-modal label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}
.conflict-modal textarea{width:100%;min-height:110px;max-height:32vh;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);font:inherit}
.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-actions .btn{min-width:108px;height:40px}
@keyframes modalFade{from{opacity:0}to{opacity:1}}@keyframes modalPop{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.report-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.report-note{margin:6px 0 0;font-size:11px;color:#8a96a8;font-style:italic}
.report-table tr.report-header-row:first-child td{position:sticky;top:0;z-index:2;background:#eef4ff;font-weight:850;color:#21334f}
.report-table tr.report-header-row td{font-weight:800}

.feedback-text{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #dce4ef;border-radius:10px;padding:10px;font:inherit;min-height:96px}
.user-table td.fb-msg{white-space:pre-wrap;max-width:520px}

/* --- UX polish: row actions, empty/loading states, responsive, dark mode --- */
.grid td.row-control .row-menu-btn{position:absolute;right:1px;top:50%;transform:translateY(-50%);width:22px;height:22px;font-size:14px;padding:0;background:#fff}
.grid-empty{padding:28px 16px;text-align:center;color:var(--muted);background:#fff;font-size:13px}
.app-loading{padding:48px;text-align:center;color:var(--muted)}
.chip-action{border:0;border-radius:7px;background:#ffe1e4;color:#b3293a;font-weight:800;padding:3px 9px;cursor:pointer}
.toast{cursor:pointer}

@media (max-width:860px){
  .app{grid-template-columns:60px minmax(0,1fr)}
  aside .brand span:last-child,aside .section-title,.nav span,.menu-toggle b{display:none}
  .nav{justify-content:center}
  main{padding:12px}
  .topbar{flex-direction:column;align-items:flex-start;gap:8px}
  .page-topline{justify-content:flex-start}
  .page-tools{justify-content:flex-start}
  .view-control{flex-wrap:wrap}
  .admin-grid{grid-template-columns:1fr}
  .admin-summary{grid-template-columns:1fr}
}
@media (max-width:640px){
  .report-hero{flex-direction:column;align-items:flex-start;gap:12px;padding:22px}
  .report-count{align-self:flex-start}
  .identity{max-width:170px}
  .language-switcher span{display:none}
  .language-switcher{padding:0 5px}
  .language-switcher select{width:104px;padding:0 18px 0 8px}
  .admin-search{width:100%;min-width:0}
}

/* ---- gutter actions (number + hover menu button, no overlap) ---- */
.grid th.row-head,.grid td.row-control{width:64px;min-width:64px;max-width:64px}
.row-control .rc-inner{display:flex;align-items:center;gap:3px;height:100%;padding:0 5px}
.row-control .row-selector{flex:1;min-width:0;border:0;background:none;color:inherit;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;padding:0}
.row-control .row-menu-btn{position:static;flex:0 0 18px;width:18px;height:22px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:#8190a6;font-size:15px;line-height:1;opacity:0;transition:opacity .12s}
.grid tr:hover .row-control .row-menu-btn{opacity:1}
.row-control .row-menu-btn:hover{border-color:var(--blue);color:var(--blue)}
/* ---- row menu popup ---- */
.row-menu{width:212px;padding:6px;border-radius:13px;box-shadow:0 18px 42px rgba(15,27,48,.24)}
.row-menu button{width:100%;border:0;background:none;text-align:left;border-radius:9px;padding:10px 12px;color:var(--ink);font-weight:600}
.row-menu button:hover{background:rgba(127,150,255,.16)}
.row-menu .danger{color:var(--red)}.row-menu .danger:hover{background:rgba(201,54,72,.15)}

/* ---- dark theme (auto via inline <head> script; toggle via data-theme) ---- */
[data-theme="dark"]{
  --bg:#0f1622;--surface:#18222f;--surface-2:#1d2838;--ink:#dde6f1;--muted:#93a5bc;
  --line:#27344a;--line-strong:#37475f;--blue-soft:#1b2c47;--shadow:0 16px 36px rgba(0,0,0,.5);
  --volume-below-bg:#4c1822;--volume-below-border:#fb7185;--volume-below-ink:#fecdd3;
  --volume-equal-bg:#123b2a;--volume-equal-border:#4ade80;--volume-equal-ink:#bbf7d0;
  --volume-above-bg:#4a3510;--volume-above-border:#fbbf24;--volume-above-ink:#fde68a;
  --volume-neutral-bg:#263244;--volume-neutral-border:#94a3b8;--volume-neutral-ink:#e2e8f0;
}
[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
[data-theme="dark"] ::selection{background:#315f9f;color:#fff}
[data-theme="dark"] .grid th,[data-theme="dark"] .grid td{background:#16202e;color:var(--ink);border-color:#26344b}
[data-theme="dark"] .grid th{background:#1c2738;color:#b4c2d8}
[data-theme="dark"] .grid th.row-head,[data-theme="dark"] .grid td.row-control{background:#1c2738}
[data-theme="dark"] .grid tr:hover td{background:#202f44}
[data-theme="dark"] .grid tr:hover td.row-control{background:#26375199}
[data-theme="dark"] .grid td.editable{background:#1a2942}
[data-theme="dark"] .grid td.editable:focus{background:#12202f}
[data-theme="dark"] .grid tr.selected td{background:#27406a!important}
[data-theme="dark"] .grid .selected-col{background:#24365880!important}
[data-theme="dark"] .grid tr.row-added td{background:#3a371d!important}
[data-theme="dark"] .col-index{background:#26344b;color:#9db2d0}
[data-theme="dark"] .col-index:hover{background:var(--blue);color:#fff}
[data-theme="dark"] .search,[data-theme="dark"] .login,[data-theme="dark"] .login input,
[data-theme="dark"] .btn,[data-theme="dark"] .view-control,[data-theme="dark"] .view-control select,
[data-theme="dark"] .assignee-select,[data-theme="dark"] .modal,[data-theme="dark"] .admin-card,
[data-theme="dark"] .admin-stat,[data-theme="dark"] .card,[data-theme="dark"] .user-table-wrap,
[data-theme="dark"] .filter-panel,[data-theme="dark"] .row-menu,[data-theme="dark"] .report-card,
[data-theme="dark"] .admin-field input,[data-theme="dark"] .admin-field select,
[data-theme="dark"] .inline-admin-input,
[data-theme="dark"] .filter-search,[data-theme="dark"] .feedback-text,[data-theme="dark"] .identity{
  background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] .btn:hover{background:#22304a}
[data-theme="dark"] .btn.primary{background:var(--blue);color:#fff}
[data-theme="dark"] .btn.primary:hover{background:var(--blue-2)}
[data-theme="dark"] .login label{color:var(--muted)}
[data-theme="dark"] .language-switcher{background:rgba(17,28,45,.94);border-color:#263852;color:#9fb0c8;box-shadow:0 12px 28px #0005}
[data-theme="dark"] .language-switcher select{background:#172338;border-color:#30435f;color:#edf4ff}
[data-theme="dark"] .eyebrow{color:#8aa0c0}
[data-theme="dark"] .report-type{background:#1b2c47;color:#9db8e6}
[data-theme="dark"] .role-tag{background:#1f3a63;color:#bcd2ff}
[data-theme="dark"] .report-block,[data-theme="dark"] .report-control{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow)}
[data-theme="dark"] .report-block-head{background:#1c2738;border-color:var(--line)}
[data-theme="dark"] .report-control select,[data-theme="dark"] .admin-search{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
[data-theme="dark"] .report-table th,[data-theme="dark"] .report-table td{background:#16202e;color:var(--ink);border-color:#26344b}
[data-theme="dark"] .report-table thead th{background:#1c2738;color:#b4c2d8}
[data-theme="dark"] .report-table .row-number{background:#1c2738;color:#9db2d0}
[data-theme="dark"] .report-table tr.report-header-row td{background:#1f2a3c;color:#cdd9ea}
[data-theme="dark"] .report-table tbody tr:hover td{background:#202f44;color:var(--ink)}
[data-theme="dark"] .report-table tbody tr:hover .row-number{background:#263751;color:#dbe7f7}
[data-theme="dark"] .report-table tbody tr.report-header-row:hover td{background:#26344b;color:#e3ecf8}
[data-theme="dark"] .load-status,[data-theme="dark"] .grid-empty,[data-theme="dark"] .app-loading{background:#16202e;color:var(--muted)}
[data-theme="dark"] .user-table th{background:#1c2738;color:#9fb0c6}
[data-theme="dark"] .user-table td{border-color:#26344b}
[data-theme="dark"] .grid td.row-control .row-menu-btn{background:#1c2738;color:#9fb0c6;border-color:#37475f}
[data-theme="dark"] .modal-host{background:rgba(0,0,0,.55)}
.perm-yes{display:inline-block;background:#e6f6ee;color:#15724e;border-radius:7px;padding:3px 8px;font-size:11px;font-weight:800}
.perm-no{color:var(--muted)}
[data-theme="dark"] .perm-yes{background:#143a2b;color:#7fd6a8}
[data-theme="dark"] .table-card{background:#16202e;border-color:#26344b}
[data-theme="dark"] .pinned-editor{background:#111b2a;border-color:#26344b;box-shadow:0 8px 18px rgba(0,0,0,.35)}
[data-theme="dark"] .bottom-scroll{background:#16202e;border-color:#26344b}
[data-theme="dark"] .selection-stats{background:#111b2a;color:#aebdd1;border-color:#26344b}
[data-theme="dark"] .selection-stats b{color:#e6eef8}
[data-theme="dark"] .bottom-scroll::-webkit-scrollbar-thumb{background:#3a4a63;border-color:#16202e}
[data-theme="dark"] .scroll-btn{background:#1c2738;color:#cfe;border-color:#37475f}
[data-theme="dark"] .table-shell::-webkit-scrollbar-thumb{background:#33425c}

/* ---- report form (Отчёт) modal — stub UI ---- */
.modal.report-modal{width:min(1560px,96vw);max-width:none;max-height:90vh;overflow:auto;background:var(--surface);color:var(--ink)}
.report-form{display:flex;flex-wrap:wrap;gap:14px;margin:6px 0 18px}
.report-field{display:flex;flex-direction:column;gap:6px;flex:1 1 200px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.report-field>select,.report-field>input{height:38px;margin:0;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface-2);color:var(--ink);outline:0;font-weight:500;text-transform:none}
.report-field>select:focus,.report-field>input:focus{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}
/* searchable multi-select (RFI) */
.ms{position:relative}
.ms-box{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-height:38px;border:1px solid var(--line);border-radius:9px;padding:4px 6px;background:var(--surface-2);cursor:text}
.ms-box:focus-within{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}
.ms-input{flex:1;min-width:90px;border:0;outline:0;background:transparent;color:var(--ink);height:28px;font-size:13px}
.ms-chip{display:inline-flex;align-items:center;gap:5px;background:var(--blue-soft);color:#285cc4;border:1px solid #d5e3ff;border-radius:7px;padding:2px 4px 2px 8px;font-size:12px;font-weight:600}
.ms-chip-x{border:0;background:#d8e6ff;color:#285cc4;border-radius:5px;width:16px;height:16px;line-height:1;font-weight:800;cursor:pointer}
.ms-pop{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:190px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 30px rgba(7,16,31,.22);padding:5px}
.ms-opt{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);padding:7px 9px;border-radius:7px;font-size:13px;cursor:pointer}
.ms-opt:hover{background:var(--blue-soft)}
.ms-opt-meta{float:right;color:var(--muted);font-size:11px}
.ms-empty{padding:9px;color:var(--muted);font-size:12px}
/* report table — own class (NOT .report-grid: that's the analytics gallery, display:grid) */
.rf-table-wrap{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:12px}
.rf-grid{display:table;border-collapse:collapse;table-layout:auto;width:max-content;min-width:100%;font-size:12px}
.rf-grid th,.rf-grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 8px;text-align:left;color:var(--ink);overflow:hidden}
.rf-grid th:last-child,.rf-grid td:last-child{border-right:0}
.rf-grid tbody tr:last-child td{border-bottom:0}
.rf-grid th{background:var(--surface-2);color:var(--muted);font-weight:700}
.rf-grid th.rf-rfi-no,.rf-grid td.rf-rfi-no{position:sticky;left:0;z-index:3;min-width:180px;width:180px;background:var(--surface-2);white-space:nowrap;text-overflow:ellipsis}
.rf-grid td.rf-rfi-no{z-index:2;background:var(--surface);font-weight:800;color:var(--ink)}
.rf-grid th.rf-grp{text-align:center;font-weight:800;color:var(--ink);white-space:normal;line-height:1.2;vertical-align:bottom}
.rf-grid th.rf-sub{min-width:88px;width:88px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis}
.rf-grid td.rf-rfi{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;background:rgba(127,143,170,.05);white-space:nowrap;text-overflow:ellipsis}
.rf-grid td.rf-id{padding:3px}
.rf-id-input{width:100%;min-width:0;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:0 6px;outline:0;text-align:right;font-size:12px}
.rf-id-input:focus{border-color:#8aa9ff;box-shadow:0 0 0 3px #2f67ff18}
.rf-id-input.invalid{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.14)}
.rf-empty-row td{text-align:center;color:var(--muted);height:54px;background:var(--surface)}
.rf-hint{margin:8px 2px 14px;color:var(--muted);font-size:11px}
.rf-status{color:var(--muted);font-size:13px;padding:8px 2px 16px}
.rf-preview{width:min(760px,94vw)!important}
.rf-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.rf-preview-grid p{display:flex;flex-direction:column;gap:4px;margin:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.rf-preview-grid span{font-size:11px;text-transform:uppercase;color:var(--muted)}
.rf-preview-warning,.rf-preview-conflicts{margin:12px 0;padding:10px 14px;border-radius:9px}
.rf-preview-warning{background:#fff7df;color:#765500}.rf-preview-conflicts{background:#fff0f0;color:#9a2525}
.rf-conflict-choice{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding-top:12px;border-top:1px solid rgba(154,37,37,.25);cursor:pointer}
.rf-conflict-choice input{width:18px;height:18px;margin-top:2px;accent-color:#c93636}.rf-conflict-choice span{display:flex;flex-direction:column;gap:4px}.rf-conflict-choice small{font-weight:400}
.rf-conflict-meta{display:block;margin-top:2px;color:inherit;opacity:.65;font-weight:400}
.rf-volume-comparison{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:9px}
.rf-volume-comparison b,.rf-volume-comparison strong{grid-column:1/-1}.rf-volume-comparison strong{font-size:12px}
.rf-volume-comparison.volume-below{background:var(--volume-below-bg);border-color:var(--volume-below-border);color:var(--volume-below-ink)}
.rf-volume-comparison.volume-equal{background:var(--volume-equal-bg);border-color:var(--volume-equal-border);color:var(--volume-equal-ink)}
.rf-volume-comparison.volume-above{background:var(--volume-above-bg);border-color:var(--volume-above-border);color:var(--volume-above-ink)}
.rf-volume-comparison.volume-neutral{background:var(--volume-neutral-bg);border-color:var(--volume-neutral-border);color:var(--volume-neutral-ink)}
.audit-report-meta{margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:700}
.audit-volume-shell{max-width:min(760px,70vw);overflow:auto;border:1px solid var(--line);border-radius:9px}
.audit-volume-table{width:100%;min-width:650px;border-collapse:collapse;font-variant-numeric:tabular-nums}
.audit-volume-table th,.audit-volume-table td{padding:7px 9px!important;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}
.audit-volume-table th{background:var(--surface-2)!important;color:var(--muted)!important;font-size:9px!important}
.audit-volume-table tr:last-child td{border-bottom:0}.audit-volume-table th:last-child,.audit-volume-table td:last-child{border-right:0}
.audit-volume-table tr.audit-volume-below td{background:var(--volume-below-bg)!important;color:var(--volume-below-ink)!important;border-color:var(--volume-below-border)}
.audit-volume-table tr.audit-volume-equal td{background:var(--volume-equal-bg)!important;color:var(--volume-equal-ink)!important;border-color:var(--volume-equal-border)}
.audit-volume-table tr.audit-volume-above td{background:var(--volume-above-bg)!important;color:var(--volume-above-ink)!important;border-color:var(--volume-above-border)}
.audit-volume-table tr.audit-volume-neutral td{background:var(--volume-neutral-bg)!important;color:var(--volume-neutral-ink)!important;border-color:var(--volume-neutral-border)}
.admin-tabs-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:start}
.admin-tabs{position:sticky;top:0;display:grid;gap:5px;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);z-index:10}
.admin-tab{height:40px;border:0;border-radius:9px;padding:0 12px;text-align:left;background:transparent;color:var(--muted);font-weight:800}
.admin-tab:hover{background:var(--surface-2);color:var(--ink)}.admin-tab.active{background:var(--blue);color:#fff}
.admin-tab-content{min-width:0}.admin-tab-actions{position:static;display:flex;justify-content:flex-end;gap:8px;padding:0 0 14px 0;background:none}
.admin-tab-body{min-height:260px}.admin-section-head{margin:0 0 12px}.admin-section-head h2{margin:0;font-size:19px}.admin-section-head p{margin:4px 0 0;color:var(--muted)}
.access-matrix-card{overflow:hidden}.access-legend{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.access-matrix-wrap{max-height:66vh}.access-matrix{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%}.access-matrix th,.access-matrix td{min-width:128px;padding:9px;border-right:1px solid #edf0f4;border-bottom:1px solid #edf0f4;vertical-align:top;background:var(--surface)}.access-matrix thead th{position:sticky;top:0;z-index:3;max-width:180px;background:var(--surface-2);font-size:10px;text-transform:uppercase;letter-spacing:.35px}.access-matrix thead th:first-child,.access-matrix tbody th{position:sticky;left:0;z-index:4;min-width:190px;max-width:230px;background:var(--surface-2);text-align:left}.access-matrix tbody th{z-index:2;text-transform:none;font-size:12px}.access-matrix tbody th small{display:block;margin-top:3px;color:var(--muted);font-weight:500}.access-matrix-cell{cursor:pointer}.access-matrix-cell:hover{background:#f3f7ff}.access-matrix-cell small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.access-badge{display:inline-flex;align-items:center;border-radius:7px;padding:3px 6px;margin:0 4px 4px 0;font-size:10px;font-weight:850;white-space:nowrap}.access-read{background:#eaf2ff;color:#285fb4}.access-edit{background:#e5f7ed;color:#227044}.access-add{background:#fff1d9;color:#8a5a00}.access-responsible{background:#f0e9ff;color:#6741a5}.access-admin{background:#253858;color:#fff}.access-none{color:#a4adba}.access-blocked{display:block;width:max-content;margin-top:4px;border-radius:6px;background:#ffe7e9;color:#9b424b;padding:2px 5px;font-size:9px}
.admin-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 4px;color:var(--muted);font-size:12px}
.system-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.system-facts p{display:grid;gap:4px;margin:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}.system-facts span{color:var(--muted);font-size:10px;text-transform:uppercase}.system-facts code{overflow-wrap:anywhere}
.cis-placeholder{min-height:220px;display:grid;place-content:center;text-align:center}.audit-details-button{display:block;margin-top:6px}.audit-details-modal{width:min(760px,calc(100vw - 32px));max-width:none}.audit-details-table{width:100%;border-collapse:collapse}.audit-details-table th,.audit-details-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.audit-details-table th{width:38%;color:var(--muted)}
.audit-row-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.grid tr.audit-target-row>td{animation:audit-target-pulse 1.2s ease-in-out 2;box-shadow:inset 0 0 0 2px #f59e0b!important}@keyframes audit-target-pulse{0%,100%{background:inherit}50%{background:rgba(245,158,11,.28)}}
.audit-row-unavailable{flex-basis:100%;color:var(--muted);font-size:11px;line-height:1.35}
.grid tr.audit-target-row>td.audit-target-cell{box-shadow:inset 0 0 0 3px #dc2626!important;background:rgba(245,158,11,.3)!important}
.modal.audit-detail-modal{width:min(760px,calc(100vw - 32px));max-width:none;max-height:90vh;overflow:auto}
.audit-detail-grid{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:14px 0}
.audit-detail-line{display:contents}.audit-detail-line strong,.audit-detail-line span{padding:9px 11px;border-bottom:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}
.audit-detail-line strong{background:var(--surface-2);color:var(--muted)}.audit-detail-json{max-height:260px;overflow:auto;padding:12px;border-radius:10px;background:var(--surface-2);white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){.admin-tabs-layout{display:block}.admin-tabs{position:sticky;top:0;display:flex;overflow-x:auto;border-radius:10px;margin-bottom:10px}.admin-tab{flex:0 0 auto;white-space:nowrap}.system-facts{grid-template-columns:1fr}}
.grid td.volume-audit-below,.grid td.volume-audit-equal,.grid td.volume-audit-above,.grid td.volume-audit-neutral{position:relative;padding-right:27px!important;font-weight:800;box-shadow:inset 4px 0 currentColor}
.grid td.volume-audit-below{background:var(--volume-below-bg)!important;color:var(--volume-below-ink)!important}
.grid td.volume-audit-equal{background:var(--volume-equal-bg)!important;color:var(--volume-equal-ink)!important}
.grid td.volume-audit-above{background:var(--volume-above-bg)!important;color:var(--volume-above-ink)!important}
.grid td.volume-audit-neutral{background:var(--volume-neutral-bg)!important;color:var(--volume-neutral-ink)!important}
.grid td.volume-audit-below:after,.grid td.volume-audit-equal:after,.grid td.volume-audit-above:after,.grid td.volume-audit-neutral:after{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:900;line-height:1}
.grid td.volume-audit-below:after{content:"▼"}.grid td.volume-audit-equal:after{content:"✓"}.grid td.volume-audit-above:after{content:"▲"}.grid td.volume-audit-neutral:after{content:"?"}
[data-theme="dark"] .ms-chip{background:#1f3a63;color:#bcd2ff;border-color:#2c4a78}
[data-theme="dark"] .ms-chip-x{background:#2c4a78;color:#dce8ff}

/* Excel-like cell ranges and status bar. */
.report-table td.report-cell-selected{background:#dceaff!important;color:#122033!important;user-select:none}
.report-table td.report-cell-active{box-shadow:inset 0 0 0 2px var(--blue)}
.report-selection-stats{position:sticky;top:8px;z-index:12;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(21,35,62,.16)}
[data-theme="dark"] .grid td.cell-selected{background:#294b78!important;color:#f1f6ff}
[data-theme="dark"] .grid td.cell-active{box-shadow:inset 0 0 0 2px #6f9cff}
[data-theme="dark"] .grid td.editable.cell-editing{background:#12202f!important;color:var(--ink)}
[data-theme="dark"] .report-table td.report-cell-selected{background:#294b78!important;color:#f1f6ff!important}
[data-theme="dark"] .report-table td.report-cell-active{box-shadow:inset 0 0 0 2px #6f9cff}
.backward-scan-status {
  position: absolute;
  top: 12px;
  left: 50%;
  z-index: 12;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(520px, calc(100% - 32px));
  padding: 8px 10px;
  transform: translateX(-50%);
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
  font-size: 13px;
}

.backward-scan-status.hidden {
  display: none;
}

.release-mismatch{position:fixed;left:50%;top:10px;z-index:3000;display:flex;align-items:center;gap:12px;transform:translateX(-50%);padding:10px 14px;border:1px solid #d69b20;border-radius:10px;background:#fff3cd;color:#513b00;box-shadow:0 8px 26px rgba(0,0,0,.22);font-weight:700}
.release-mismatch.hidden{display:none}
[data-theme="dark"] .release-mismatch{border-color:#b17b10;background:#3a2d0d;color:#ffe5a3}

.quantity-directions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;flex:1 1 520px;min-width:240px}.quantity-directions-label{font-size:12px;opacity:.8;margin-right:3px}.quantity-direction{white-space:nowrap;min-height:30px}.quantity-direction[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}

.grid tr[style*="--row-custom-height"] td.long-text-cell { position: relative; }
.grid tr[style*="--row-custom-height"] td.long-text-cell > .cell-text {
  position: absolute;
  inset: 6px 10px;
  white-space: normal;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-overflow: clip;
}
