:root{--brand: #5b5fc7;--brand-700: #4649a5;--brand-100: #e8e8fa;--brand-50: #f5f5ff;--ink: #242424;--muted: #616161;--subtle: #8a8886;--line: #e1dfdd;--surface: #fff;--canvas: #f5f5f5;--success: #107c10;--warning: #c19c00;--danger: #d13438;--info: #0078d4;--nav: #292933;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--radius: 10px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,Segoe UI,sans-serif;background:var(--canvas);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}:focus-visible{outline:3px solid rgba(91,95,199,.35);outline-offset:2px}.icon{width:19px;height:19px;stroke-width:1.8}.icon-sm{width:16px;height:16px}.btn{min-height:36px;border:1px solid var(--line);border-radius:6px;padding:7px 14px;background:#fff;color:var(--ink);font-weight:600;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:.15s}.btn:hover{background:#f5f5f5;border-color:#c8c6c4}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700)}.btn-danger{color:var(--danger);border-color:#f1b5b7}.btn-danger:hover{background:#fdf3f4}.btn-quiet{border-color:transparent;background:transparent}.btn-quiet:hover{background:#eee}.btn-sm{min-height:30px;padding:5px 10px;font-size:12px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:#424242}.field small{font-size:11px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #c8c6c4;border-radius:6px;background:#fff;padding:9px 11px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}textarea{resize:vertical;min-height:88px}.required:after{content:" *";color:var(--danger)}.auth-screen{min-height:100%;display:grid;grid-template-columns:minmax(380px,46%) 1fr;background:#fff}.auth-panel{display:flex;align-items:center;justify-content:center;padding:48px}.auth-box{width:100%;max-width:410px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:36px}.brand-mark{width:42px;height:42px;border-radius:11px;background:linear-gradient(145deg,#777be6,var(--brand-700));display:grid;place-items:center;color:#fff;font-size:20px;font-weight:800;box-shadow:0 6px 16px #5b5fc740}.auth-brand h1{font-size:21px;margin:0}.auth-brand p{margin:3px 0 0;color:var(--muted);font-size:12px}.auth-box h2{font-size:28px;margin:0 0 8px}.auth-sub{margin:0 0 28px;color:var(--muted);line-height:1.6}.auth-form{display:grid;gap:16px}.auth-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.text-button{border:0;background:none;padding:0;color:var(--brand);font-weight:600}.auth-message{min-height:20px;margin-top:12px;font-size:12px;color:var(--danger)}.auth-setup-link{margin-top:4px;text-align:center}.auth-setup-link .text-button{display:inline-flex;align-items:center;gap:6px;font-size:12px}.demo-box{margin-top:24px;padding:14px;background:#faf9f8;border:1px solid var(--line);border-radius:8px}.demo-box p{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.5}.auth-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#343465,#5b5fc7 48%,#7679db);color:#fff;padding:64px;display:flex;align-items:center}.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:50%;background:#ffffff14}.auth-visual:before{width:480px;height:480px;right:-160px;top:-160px}.auth-visual:after{width:340px;height:340px;left:-120px;bottom:-130px}.visual-copy{position:relative;z-index:1;max-width:620px}.visual-copy h2{font-size:42px;line-height:1.13;margin:0 0 18px}.visual-copy>p{font-size:17px;line-height:1.65;color:#ffffffd1}.visual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:36px}.visual-card{padding:17px;border-radius:10px;background:#ffffff1c;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px)}.visual-card strong{display:block;margin:8px 0 4px}.visual-card span{font-size:12px;color:#ffffffb8}.app-shell{height:100%;display:grid;grid-template-columns:72px 1fr;grid-template-rows:56px 1fr;overflow:hidden}.rail{grid-row:1/3;background:var(--nav);color:#fff;display:flex;flex-direction:column;align-items:center;padding:9px 6px;z-index:20}.rail-logo{width:42px;height:38px;background:var(--brand);border-radius:9px;display:grid;place-items:center;font-weight:800;margin-bottom:16px}.rail-nav{display:flex;flex-direction:column;gap:4px;width:100%}.rail-btn{width:100%;height:56px;border:0;background:transparent;color:#bdbdc7;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;position:relative}.rail-btn:hover{background:#3a3a46;color:#fff}.rail-btn.active{background:#40404d;color:#fff}.rail-btn.active:before{content:"";position:absolute;left:-6px;top:11px;bottom:11px;width:3px;border-radius:3px;background:#a6a7f4}.rail-spacer{flex:1}.topbar{grid-column:2;display:flex;align-items:center;gap:18px;background:#fff;border-bottom:1px solid var(--line);padding:0 22px;min-width:0;z-index:10}.page-heading{min-width:180px}.page-heading h1{font-size:17px;margin:0}.page-heading p{font-size:11px;color:var(--muted);margin:2px 0 0}.global-search{position:relative;max-width:520px;flex:1}.global-search .icon{position:absolute;left:11px;top:9px;color:var(--muted)}.global-search input{height:36px;padding-left:38px;background:#f5f5f5;border-color:#ededed}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.connection-pill{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted);white-space:nowrap}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.connection-dot.demo{background:var(--warning)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--brand-100);color:var(--brand-700);display:grid;place-items:center;font-weight:700;border:0}.user-menu{position:relative}.user-popover{position:absolute;right:0;top:43px;width:245px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:12px;z-index:70}.user-popover strong,.user-popover span{display:block}.user-popover span{font-size:12px;color:var(--muted);margin:4px 0 12px;word-break:break-all}.workspace{grid-column:2;overflow:auto;padding:24px}.page{max-width:1480px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.page-header h2{font-size:22px;margin:0 0 5px}.page-header p{margin:0;color:var(--muted);line-height:1.5}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px #00000008}.card-head{padding:17px 18px;border-bottom:1px solid #edebe9;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h3{font-size:15px;margin:0}.card-body{padding:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-card{padding:17px;display:grid;grid-template-columns:1fr 42px;gap:12px;min-height:112px}.metric-label{font-size:12px;color:var(--muted);font-weight:600}.metric-value{font-size:30px;font-weight:700;margin-top:8px;letter-spacing:-1px}.metric-note{font-size:11px;color:var(--subtle);margin-top:4px}.metric-icon{width:42px;height:42px;border-radius:9px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}.metric-icon.success{background:#e7f5e7;color:var(--success)}.metric-icon.warning{background:#fff6d6;color:#8a6d00}.metric-icon.danger{background:#fde7e9;color:var(--danger)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid #edebe9}.toolbar .field-inline{min-width:150px}.toolbar input{max-width:300px}.toolbar .spacer{flex:1}.filter-label{font-size:11px;color:var(--muted);font-weight:600}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:1000px}.data-table th{position:sticky;top:0;background:#faf9f8;color:var(--muted);font-size:11px;font-weight:600;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid #edebe9;vertical-align:middle}.data-table tbody tr:hover{background:#f8f8fc}.data-table tbody tr:last-child td{border-bottom:0}.ticket-id{color:var(--brand);font-weight:700}.ticket-title{font-weight:600;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subline{font-size:11px;color:var(--muted);margin-top:3px}.cell-user{display:flex;align-items:center;gap:9px}.mini-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eeeef8;color:var(--brand-700);font-size:10px;font-weight:700;flex:none}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;background:#eee;color:#424242}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-open{background:#e5f1fb;color:#0067b8}.status-progress{background:#ececff;color:#4f52b2}.status-pending{background:#fff4ce;color:#8a6d00}.status-resolved{background:#dff6dd;color:#0b6a0b}.status-closed{background:#edebe9;color:#605e5c}.priority-p1{background:#fde7e9;color:#b10e1c}.priority-p2{background:#fff0e6;color:#a4262c}.priority-p3{background:#fff4ce;color:#8a6d00}.priority-p4{background:#e7f3ff;color:#0067b8}.sla-ok{color:var(--success);font-weight:600}.sla-risk{color:#986f0b;font-weight:600}.sla-breached{color:var(--danger);font-weight:700}.empty{padding:48px 20px;text-align:center;color:var(--muted)}.empty .icon{width:38px;height:38px;margin-bottom:10px;color:#a19f9d}.pagination-note{padding:11px 18px;border-top:1px solid #edebe9;color:var(--muted);font-size:11px;text-align:right}.dashboard-lower{display:grid;grid-template-columns:1.4fr .9fr;gap:18px;margin-top:18px}.chart-card canvas{max-height:280px}.workload-list{display:grid;gap:12px}.workload-row{display:grid;grid-template-columns:1fr 58px;gap:10px;align-items:center}.progress{height:7px;background:#edebe9;border-radius:8px;overflow:hidden;margin-top:6px}.progress span{display:block;height:100%;border-radius:8px;background:var(--brand)}.master-layout{display:grid;grid-template-columns:230px 1fr;gap:18px}.master-menu{padding:8px}.master-tab{width:100%;border:0;background:#fff;border-radius:6px;padding:11px 12px;display:flex;align-items:center;gap:10px;text-align:left;color:#424242}.master-tab:hover{background:#f5f5f5}.master-tab.active{background:var(--brand-50);color:var(--brand-700);font-weight:700}.master-tab .count{margin-left:auto;background:#edebe9;border-radius:20px;padding:2px 7px;font-size:10px;color:var(--muted)}.kpi-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;padding:14px}.kpi-filters .field{min-width:180px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}.chart-large{grid-column:span 2}.chart-shell{height:310px;padding:15px}.chart-shell canvas{width:100%!important;height:100%!important}.quality-table{min-width:1120px}.quality-score{display:inline-grid;min-width:52px;place-items:center;padding:5px 8px;border-radius:6px;background:var(--brand-50);color:var(--brand-700);font-weight:800}.quality-score.good{background:#e7f5e7;color:var(--success)}.quality-score.warn{background:#fff6d6;color:#8a6d00}.quality-row{cursor:pointer}.quality-row.collective{background:#faf9ff;font-weight:700}.settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.settings-stack{display:grid;gap:18px}.status-list{display:grid;gap:0}.status-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edebe9}.status-row:last-child{border-bottom:0}.status-row span{color:var(--muted)}.status-good{color:var(--success);font-weight:700}.status-warn{color:#8a6d00;font-weight:700}.settings-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.danger-zone{border-color:#f3c5c7}.danger-zone .card-head{color:var(--danger)}.modal-layer{position:fixed;inset:0;background:#0000006b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000047}.modal.wide{width:min(980px,100%)}.modal-head{position:sticky;top:0;background:#fff;z-index:2;padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0;font-size:18px}.modal-body{padding:20px}.modal-foot{position:sticky;bottom:0;background:#fff;padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-grid .wide{grid-column:1/-1}.priority-preview{display:flex;align-items:center;gap:10px;padding:11px;border-radius:7px;background:#faf9f8;border:1px solid var(--line)}.ticket-detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.detail-title{font-size:20px;margin:4px 0 8px}.detail-desc{white-space:pre-wrap;line-height:1.6;color:#424242}.meta-list{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:18px}.meta-item label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.activity{border-left:2px solid #e1dfdd;margin-left:5px;padding-left:18px;display:grid;gap:16px}.activity-item{position:relative}.activity-item:before{content:"";position:absolute;left:-24px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--brand);border:2px solid #fff}.activity-item p{margin:0 0 3px;font-size:12px}.activity-item time{font-size:10px;color:var(--muted)}.rating-panel{margin-top:20px;padding:16px;border:1px solid #d7d7f6;border-radius:9px;background:var(--brand-50)}.rating-panel h4{margin:0 0 5px}.rating-panel p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.5}.rating-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.rating-stars{display:flex;gap:4px}.rating-stars button{border:0;background:transparent;color:#b3b0ad;padding:2px;font-size:25px;line-height:1}.rating-stars button.active{color:#d99a00}.rating-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.rating-summary div{padding:8px;border-radius:6px;background:#fff;text-align:center}.rating-summary strong{display:block;font-size:18px}.rating-summary span{color:var(--muted);font-size:10px}.toast-area{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:9px;width:min(390px,calc(100vw - 40px))}.toast{background:#323130;color:#fff;border-radius:8px;padding:13px 15px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:flex-start;animation:toastIn .2s ease}.toast.success{border-left:4px solid #6ccb5f}.toast.error{border-left:4px solid #ff7b7f}.toast.warning{border-left:4px solid #f4c430}@keyframes toastIn{0%{transform:translateY(8px);opacity:0}}.loading{position:fixed;inset:0;background:#ffffffb8;z-index:300;display:grid;place-items:center}.spinner{width:42px;height:42px;border:4px solid #ddd;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.permission-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#faf9f8}.permission-item{display:flex;align-items:flex-start;gap:9px;padding:8px;border-radius:6px}.permission-item:hover{background:#fff}.permission-item input{width:16px;height:16px;margin-top:2px}.permission-item strong{display:block;font-size:12px}.permission-item small{display:block;color:var(--muted);margin-top:2px}.permission-disabled{opacity:.58}.permission-disabled .permission-item{cursor:not-allowed;background:#f8f8fb}.activation-code{margin:10px 0;padding:10px 12px;border:1px dashed #8b8cc7;border-radius:8px;background:#f7f7ff;color:#33358a;font:700 14px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;word-break:break-all}.team-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tech-card{padding:17px}.tech-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.tech-profile{display:flex;align-items:center;gap:11px}.tech-profile .mini-avatar{width:38px;height:38px}.tech-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.tech-stat{padding:9px;background:#faf9f8;border-radius:7px;text-align:center}.tech-stat strong{display:block;font-size:17px}.tech-stat span{font-size:10px;color:var(--muted)}.import-layout{display:grid;grid-template-columns:310px 1fr;gap:18px}.drop-zone{border:2px dashed #c8c6c4;border-radius:10px;padding:32px 18px;text-align:center;background:#faf9f8;transition:.15s}.drop-zone.drag{border-color:var(--brand);background:var(--brand-50)}.drop-zone .icon{width:42px;height:42px;color:var(--brand);margin-bottom:10px}.drop-zone p{color:var(--muted);line-height:1.5}.import-steps{display:grid;gap:12px;margin-top:18px}.import-step{display:flex;gap:10px;align-items:flex-start;color:var(--muted)}.step-number{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--brand-100);color:var(--brand-700);font-size:11px;font-weight:700;flex:none}.mapping-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.mapping-field{display:grid;grid-template-columns:1fr 1.1fr;gap:8px;align-items:center;padding:8px;border:1px solid #edebe9;border-radius:7px}.mapping-field label{font-size:11px;font-weight:600}.mapping-required:after{content:" *";color:var(--danger)}.preview-table{max-height:330px;overflow:auto;margin-top:15px;border:1px solid var(--line);border-radius:8px}.import-result{padding:12px;border-radius:8px;background:#e7f5e7;color:#0b6a0b;margin-top:12px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module-card{padding:18px}.module-card-head{display:flex;justify-content:space-between;gap:12px}.module-icon{width:40px;height:40px;border-radius:9px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}.module-card p{color:var(--muted);font-size:12px;line-height:1.55;min-height:38px}.switch{position:relative;width:42px;height:24px;display:inline-block}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:20px;background:#c8c6c4;transition:.2s}.switch span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--brand)}.switch input:checked+span:before{transform:translate(18px)}.regulation-layout{display:grid;grid-template-columns:330px 1fr;gap:18px;min-height:620px}.regulation-sidebar{overflow:hidden}.regulation-list{display:grid;max-height:680px;overflow:auto}.regulation-item{border:0;border-bottom:1px solid #edebe9;background:#fff;padding:14px 16px;text-align:left}.regulation-item:hover,.regulation-item.active{background:var(--brand-50)}.regulation-item strong{display:block}.regulation-reader{min-width:0;overflow:hidden}.regulation-description{padding:14px 18px;color:var(--muted);line-height:1.6;border-bottom:1px solid #edebe9}.regulation-content{min-height:520px;padding:24px;overflow:auto}.regulation-content iframe{width:100%;height:70vh;border:1px solid var(--line);border-radius:8px}.regulation-content .document-preview{max-width:900px;margin:auto;line-height:1.7}.document-preview h1,.document-preview h2,.document-preview h3{color:var(--ink);margin-top:1.5em}.document-preview pre{white-space:pre-wrap;background:#faf9f8;border:1px solid var(--line);border-radius:8px;padding:16px}.document-preview table{border-collapse:collapse;max-width:100%}.document-preview td,.document-preview th{border:1px solid var(--line);padding:7px}.document-preview img{max-width:100%}.setup-modal{width:min(1080px,100%)}.setup-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.setup-diagnostics,.setup-editor{border:1px solid var(--line);border-radius:9px;padding:16px}.setup-diagnostics h4,.setup-editor h4{margin:0 0 12px}.setup-diagnostics strong{max-width:58%;text-align:right;overflow-wrap:anywhere}.setup-steps{grid-column:1/-1;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;list-style:none;counter-reset:steps}.setup-steps li{counter-increment:steps;border:1px solid var(--line);border-radius:8px;padding:13px 13px 13px 47px;position:relative}.setup-steps li:before{content:counter(steps);position:absolute;left:13px;top:13px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800;font-size:11px}.setup-steps strong,.setup-steps span{display:block}.setup-steps span{color:var(--muted);font-size:12px;line-height:1.55;margin-top:4px}.setup-editor{grid-column:1/-1}.setup-editor code,.setup-steps code{background:#f1f1f1;border-radius:4px;padding:1px 4px;overflow-wrap:anywhere}.kpi-drill{cursor:pointer;text-align:left;border:1px solid var(--line)}.kpi-drill:hover{border-color:var(--brand);box-shadow:0 3px 12px #5b5fc726;transform:translateY(-1px)}.drill-table{max-height:55vh;overflow:auto}.offline-banner{position:fixed;left:50%;top:8px;transform:translate(-50%);z-index:400;padding:7px 14px;border-radius:20px;background:#323130;color:#fff;font-size:11px;box-shadow:var(--shadow)}.portal-welcome{padding:18px;background:linear-gradient(110deg,var(--brand-50),#fff);border-color:#d7d7f6;margin-bottom:18px}.portal-welcome h3{margin:0 0 5px;color:var(--brand-700)}.portal-welcome p{margin:0;color:var(--muted)}@media (max-width: 1100px){.metric-grid,.kpi-grid,.team-summary{grid-template-columns:repeat(2,1fr)}.dashboard-lower,.settings-grid,.import-layout,.regulation-layout{grid-template-columns:1fr}.team-grid,.module-grid{grid-template-columns:repeat(2,1fr)}.auth-visual{padding:40px}.visual-copy h2{font-size:34px}.regulation-layout{min-height:0}.regulation-list{max-height:300px}}@media (max-width: 820px){.auth-screen{grid-template-columns:1fr}.auth-visual{display:none}.app-shell{grid-template-columns:1fr;grid-template-rows:56px 1fr 62px}.rail{grid-row:3;grid-column:1;flex-direction:row;padding:5px 8px;overflow-x:auto}.rail-logo,.rail-spacer{display:none}.rail-nav{flex-direction:row;min-width:max-content}.rail-btn{height:50px;min-width:62px}.rail-btn.active:before{inset:auto 14px -5px;width:auto;height:3px}.topbar,.workspace{grid-column:1}.topbar{padding:0 12px}.page-heading,.connection-pill,.global-search{display:none}.workspace{padding:16px 12px}.master-layout{grid-template-columns:1fr}.master-menu{display:flex;overflow:auto}.master-tab{min-width:max-content}.ticket-detail-grid,.setup-body,.charts-grid{grid-template-columns:1fr}.chart-large{grid-column:auto}.setup-steps{grid-template-columns:1fr}}@media (max-width: 560px){.metric-grid,.kpi-grid,.team-summary{grid-template-columns:1fr 1fr;gap:9px}.team-grid,.module-grid{grid-template-columns:1fr}.metric-card{padding:13px;min-height:98px;grid-template-columns:1fr}.metric-icon{display:none}.metric-value{font-size:25px}.page-header{flex-direction:column}.form-grid,.settings-form,.meta-list,.mapping-grid,.permission-grid,.rating-grid,.rating-summary{grid-template-columns:1fr}.form-grid .wide,.settings-form .wide{grid-column:auto}.mapping-field{grid-template-columns:1fr}.top-actions .btn span{display:none}.top-actions .btn{padding:7px 9px}.auth-panel{padding:28px 22px}.toolbar>*{width:100%;max-width:none!important}.toolbar .btn{width:auto}.chart-shell{height:260px}.regulation-content{padding:14px}}body{font-size:15px}.field label,.btn-sm,.rail-btn,.subline{font-size:13px}.field small{font-size:12px}.rail-btn{height:64px;font-size:11px}.topbar{min-width:0}.top-company{font-size:12px;color:var(--muted)}.brand-footer{padding:26px 4px;color:var(--muted);font-size:13px}.brand-footer p:empty{display:none}.brand-mark,.rail-logo{overflow:hidden;background:var(--brand)}[data-brand-mark] img{width:100%;height:100%;object-fit:contain}.auth-visual{background:linear-gradient(135deg,var(--nav),var(--brand))}.brand-preview{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}.brand-preview p{margin:3px 0}.theme-presets{display:flex;gap:8px;flex-wrap:wrap}.theme-preset{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:9px 13px;border-radius:20px}.theme-preset:nth-child(1){border-left:7px solid #5b5fc7}.theme-preset:nth-child(2){border-left:7px solid #006b60}.theme-preset:nth-child(3){border-left:7px solid #1459a6}.theme-preset:nth-child(4){border-left:7px solid #963c27}input[type=color]{height:42px;padding:5px}.load-footer{display:flex;gap:16px;align-items:center;margin-top:18px;color:var(--muted);flex-wrap:wrap}.kanban{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:14px;overflow:auto;align-items:start;padding:6px 0 20px}.kanban-column{background:var(--canvas);padding:12px;border:1px solid var(--line);border-radius:12px;min-height:230px}.kanban-column h3{font-size:14px;margin:3px 0 16px}.kanban-column h3 span{float:right}.kanban-card{display:block;width:100%;text-align:left;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;background:var(--surface);color:var(--ink);padding:15px;margin-bottom:10px;box-shadow:0 2px 4px #00000005}.kanban-card strong{display:block;margin:8px 0 12px;font-size:15px;overflow-wrap:anywhere}.kanban-card p{margin:10px 0}.kanban-card small{font-size:12px}.conversation,.approval-panel{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.comment{padding:12px 0;border-bottom:1px solid var(--line)}.comment small{float:right;color:var(--muted)}.comment p{white-space:pre-wrap;overflow-wrap:anywhere}.conversation form{display:grid;gap:10px;margin:18px 0}.approval-panel{background:var(--canvas);border-radius:9px;padding:18px}.approval-panel textarea{margin:8px 0}#filterKind{max-width:190px}#configOutput{min-height:160px}.settings-form .wide{grid-column:1/-1}[data-theme=dark]{--ink: #edf0fa;--muted: #b2b9cb;--subtle: #8d96ac;--line: #3b4052;--surface: #222633;--canvas: #191d28;--brand-50: #282d40;--brand-100: #333c57;--shadow: 0 2px 10px #0003}[data-theme=dark] .card,[data-theme=dark] .modal,[data-theme=dark] .auth-panel,[data-theme=dark] .topbar,[data-theme=dark] .user-popover,[data-theme=dark] .btn,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--surface);color:var(--ink)}[data-theme=dark] .btn-primary{background:var(--brand);color:#fff}[data-theme=dark] .field label,[data-theme=dark] th,[data-theme=dark] .metric-label,[data-theme=dark] .detail-title{color:var(--ink)}[data-theme=dark] .data-table th,[data-theme=dark] .demo-box,[data-theme=dark] .card-head,[data-theme=dark] .modal-foot,[data-theme=dark] .rating-panel,[data-theme=dark] .master-tab{background:var(--canvas);color:var(--ink)}[data-theme=dark] .data-table tr:hover,[data-theme=dark] .btn:hover{background:#30364a}[data-theme=dark] .regulation-content,[data-theme=dark] .document-preview{background:var(--surface);color:var(--ink)}[data-density=compact] .data-table td{padding-top:8px;padding-bottom:8px}[data-density=comfortable] .data-table td{padding-top:15px;padding-bottom:15px}@media (max-width: 760px){.auth-screen{grid-template-columns:1fr}.auth-panel{padding:26px 18px}.auth-visual{display:none}.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:56px minmax(0,1fr) 72px}.rail{grid-row:3;grid-column:1}.rail-nav{flex:none;width:max-content}.rail-btn{flex-shrink:0;width:70px;height:56px}.topbar{grid-row:1;grid-column:1}.workspace{grid-row:2;grid-column:1;min-width:0}.page-heading{display:block}.workspace{padding:16px 10px}.topbar{padding:8px 12px}.global-search,.connection-pill,.top-actions>#topKpiBtn,.top-actions>#topConfigBtn{display:none}.page-heading{min-width:0}.page-heading h1{font-size:16px}.page-heading p{display:none}.page-header{flex-wrap:wrap;gap:12px}.header-actions{flex-wrap:wrap}.settings-grid,.ticket-detail-grid,.form-grid,.settings-form{grid-template-columns:1fr!important}.modal{width:calc(100vw - 20px);max-height:95vh}.modal-body{padding:18px}.kanban{grid-template-columns:repeat(5,230px)}.top-company{display:block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-actions{gap:12px}.top-actions{gap:6px}.rail{padding-left:4px;padding-right:4px}.rail-btn{font-size:10px}#filterKind{max-width:100%}}@media print{.rail,.top-actions,.global-search,.toolbar,.modal-layer,.btn{display:none!important}.app-shell{display:block;height:auto;overflow:visible}.workspace{overflow:visible}.topbar,.brand-footer{display:block}.page.hidden{display:none!important}.chart-wrap{break-inside:avoid}}.firebase-emulator-warning{pointer-events:none}@media (max-width: 820px){body:has(.firebase-emulator-warning) .app-shell{height:calc(100% - 44px)}}.login-logo{display:block;width:100%;max-width:none;height:auto;object-fit:contain;object-position:left center;margin:0 0 32px}.auth-actions{justify-content:flex-end}.image-preview{display:block;max-width:260px;max-height:160px;object-fit:contain;padding:10px;border:1px solid var(--line);border-radius:8px}.image-preview.small{width:72px;height:72px}.check-line{display:flex;align-items:center;gap:10px;line-height:1.6}.check-line input{width:18px;height:18px;flex:none}.notification-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}fieldset{border:1px solid var(--line);border-radius:8px;padding:16px}legend{padding:0 8px;font-weight:600}.access-item,.mail-log-item{padding:15px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.access-item .header-actions{margin-top:12px}.mail-log-item span,.mail-log-item small{display:block;margin-top:5px;color:var(--muted)}.help-hero{background:linear-gradient(130deg,var(--nav),var(--brand));padding:34px;border-radius:14px;color:#fff}.help-hero h2{font-size:30px;margin:8px 0}.help-hero input{max-width:680px;margin-top:16px;color:#242424;background:#fff}.eyebrow{font-size:12px;letter-spacing:.15em}.help-categories{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.help-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.help-guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.guide-card{text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--canvas);color:var(--ink);padding:20px;cursor:pointer}.guide-card span{display:block;margin-top:12px;font-size:12px;color:var(--muted)}.help-results{margin-top:20px}.help-article{border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:10px 0}.help-article summary{font-weight:650;cursor:pointer;padding:18px}.help-article>div{padding:0 22px 20px}.help-article li{margin-bottom:12px;line-height:1.6}.help-tip{border-left:3px solid var(--brand);padding:12px;background:var(--canvas);line-height:1.6}.help-tour{position:fixed;right:22px;bottom:32px;z-index:100;width:350px;max-width:calc(100vw - 28px);padding:22px;background:var(--surface);color:var(--ink);border:2px solid var(--brand);box-shadow:0 10px 35px #0003;border-radius:12px}.help-tour p{line-height:1.6}.help-tour>#closeHelpTour{float:right}.tour-highlight{outline:3px solid var(--brand);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media (max-width: 820px){.help-layout{grid-template-columns:1fr}.help-hero{padding:22px}.help-tour{bottom:115px;right:14px}.notification-options{grid-template-columns:1fr}.login-logo{max-width:none;height:auto}}@media (min-width: 821px){.rail{min-height:0;overflow-y:auto}.rail-btn{height:56px;flex-shrink:0}.rail-nav{flex-shrink:0}}.pwa-install-dialog{width:min(540px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:24px;border:1px solid #cbd5e1;border-radius:16px;color:#202334;background:#fff;line-height:1.6}.pwa-install-dialog::backdrop{background:#14192d8c}.pwa-install-dialog li{margin-bottom:12px}#monitorLogout,#monitorSync{display:none}.app-shell.monitor-only{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.monitor-only .rail,.monitor-only .global-search,.monitor-only .top-actions>:not(#monitorLogout),.monitor-only #kpiExport{display:none!important}.monitor-only .topbar{grid-column:1;grid-row:1}.monitor-only .workspace{grid-column:1;grid-row:2}.monitor-only #monitorLogout,.monitor-only #monitorSync{display:block}.monitor-only .kpi-drill:disabled{opacity:1;cursor:default}.monitor-only .kpi-drill:disabled{color:var(--ink);-webkit-text-fill-color:currentColor}
