@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Inter:wght@400;500;600;700&display=swap";/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties,theme,base,components,utilities;@layer theme{:root,:host{--spacing:.25rem}}@layer utilities{.visible{visibility:visible}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--primary:#007bff;--primary-dark:#0056b3;--primary-light:#1890ff;--bg-main:#f5f5f5;--bg-light:#f8f9fa;--card:#fff;--text:#0f172a;--text-muted:#6c757d;--border:#e9ecef;--border-light:#dee2e6;--danger:#dc3545;--success:#52c41a;--warning:#faad14;--info:#1890ff;--kpi-blue:#007bff;--kpi-green:#52c41a;--kpi-orange:#faad14;--kpi-purple:#8b5cf6;--sidebar-bg:#e6f0ff;--sidebar-border:#c3d4ff}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg-main);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.5}#root{flex-direction:column;min-height:100dvh;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-shrink:0;width:250px;padding:20px 0;overflow-y:auto}.sidebar-menu{margin:0;padding:0;list-style:none}.sidebar-menu-item{margin:0;padding:0}.sidebar-menu-item>button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:12px;padding:12px 20px;font-size:15px;transition:all .2s;display:flex}.sidebar-menu-item>button:hover{color:var(--primary);background:#007bff14}.sidebar-menu-item.active>button{color:var(--primary);border-left-color:var(--primary);background:#007bff1f}.sidebar-submenu{background:#f5f6f880;margin:0;padding:4px 0;list-style:none}.sidebar-submenu-item>button{text-align:left;width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:10px 20px 10px 40px;font-size:14px;transition:all .2s}.sidebar-submenu-item>button:hover{color:var(--primary);background:#007bff0d}.sidebar-submenu-item.active>button{color:var(--primary);font-weight:500}.app-shell{background:#f7f9fc;flex-direction:column;width:100%;max-width:1920px;min-height:100dvh;margin-inline:auto;display:flex}.app-shell-header{z-index:50;background:#fff;border-bottom:1px solid #dbe4f0;justify-content:center;align-items:center;gap:12px;min-height:92px;padding:10px 16px;display:flex;position:sticky;top:0}.app-shell-header__side{align-items:center;gap:10px;min-width:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.app-shell-header__side--left{left:16px}.app-shell-header__side--right{right:16px}.app-shell-header__center{text-align:center;justify-content:center;align-items:center;gap:12px;width:100%;padding:0 220px;display:flex}.app-shell-header__logo{object-fit:contain;flex:none;width:54px;height:auto}.app-shell-header__titles{gap:2px;display:grid}.app-shell-header__line1{color:#1f4a79;text-transform:uppercase;margin:0;font-size:20px;font-weight:600;line-height:1.08}.app-shell-header__line2{color:#1a3f68;text-transform:uppercase;margin:0;font-size:22px;font-weight:800;line-height:1.1}.brand-mark{color:#fff;background:#1d4ed8;border-radius:8px;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.app-shell-header__title-block{min-width:0}.app-shell-header__title-block h1{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:18px;font-weight:700;overflow:hidden}.app-shell-header__caption{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px}.icon-action{color:#334155;background:#fff;border:1px solid #d4dbe7;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-action:hover{background:#f8fafc}.icon-action.danger{color:#b91c1c}.user-chip{color:#334155;border:1px solid #d4dbe7;border-radius:999px;align-items:center;gap:6px;max-width:280px;padding:6px 10px;font-size:12px;display:inline-flex}.user-chip span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-shell__body{flex:1 0 auto;grid-template-columns:auto 1fr;display:grid}.sidebar-rail{background:#f8fbff;border-right:1px solid #dbe4f0;width:250px}.sidebar-rail.collapsed{width:74px}.sidebar-rail .sidebar{background:0 0;border-right:none;width:100%}.sidebar.collapsed .sidebar-menu-item>button,.sidebar.collapsed .sidebar-submenu-item>button{justify-content:center;padding:10px 8px}.sidebar.collapsed .sidebar-submenu{background:0 0}.sidebar-menu-item>button,.sidebar-submenu-item>button{gap:10px}.sidebar-menu-item>button span,.sidebar-submenu-item>button span{white-space:nowrap}.sidebar-drawer{z-index:70;background:#f8fbff;border-right:1px solid #dbe4f0;width:284px;transition:transform .25s;position:fixed;top:92px;bottom:0;left:0;transform:translate(-100%)}.sidebar-drawer.open{transform:translate(0)}.sidebar-backdrop{z-index:65;background:#0f172a59;position:fixed;top:92px;right:0;bottom:0;left:0}.app-shell__content{min-width:0;padding:10px 12px;overflow:visible}.app-shell-footer{color:#334155;text-align:center;background:#fff;border-top:1px solid #dbe4f0;justify-content:center;align-items:center;gap:12px;min-height:96px;padding:12px 14px;font-size:14px;display:flex}.app-shell-footer__logo{object-fit:contain;flex:none;width:50px;height:auto}.app-shell-footer__text{text-align:center;justify-items:center;gap:4px;display:grid}.app-shell-footer p{margin:0;line-height:1.3}.app-shell-footer__meta{color:#94a3b8;margin-top:2px;font-size:11px}.page-shell{flex-direction:column;gap:10px;display:flex}.page-shell__header--row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-shell__header h2{color:#0f172a;margin:0;font-size:24px}.page-shell__header p{color:#64748b;margin:6px 0 0;font-size:14px}.section-card{background:#fff;border:1px solid #dbe4f0;border-radius:12px;padding:12px}.section-card__header{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.section-card__header h3{color:#0f172a;margin:0;font-size:16px}.section-card__header p{color:#64748b;margin:4px 0 0;font-size:13px}.loading-skeleton{gap:10px;display:grid}.loading-skeleton__line{background:linear-gradient(90deg,#e5eaf2 20%,#f1f5f9,#e5eaf2 60%) 0 0/280% 100%;border-radius:999px;height:14px;animation:1.2s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty-state{text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:12px;place-items:center;gap:6px;min-height:160px;padding:20px;display:grid}.toast-stack{z-index:2000;gap:8px;width:min(720px,100vw - 24px);display:grid;position:fixed;top:78px;left:50%;transform:translate(-50%)}.toast-stack__item{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.toast-stack__item.success{color:#166534;background:#f0fdf4fa;border-color:#86efac}.toast-stack__item.error{color:#991b1b;background:#fef2f2fa;border-color:#fca5a5}.modal-overlay{z-index:1100;background:#0f172a61;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal-form{z-index:1101;background:#fff;border:1px solid #dbe4f0;border-radius:14px;width:calc(100vw - 32px);max-width:min(760px,100vw - 32px);max-height:calc(100dvh - 80px);padding:18px;position:fixed;inset:50% auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal-form h2,.modal-form [data-radix-dialog-title]{margin:0 0 12px;font-size:18px}.modal-form__description{color:#64748b;margin:0 0 12px;font-size:14px}.modal-form__actions{justify-content:flex-end;gap:8px;display:flex}pre{white-space:pre-wrap;word-break:break-all;overflow-wrap:break-word;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;max-height:320px;margin:0;padding:10px 12px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;overflow-y:auto}.log-detail-modal{width:min(700px,100vw - 32px);max-height:calc(100dvh - 80px);overflow-y:auto}.table-shell{-webkit-overflow-scrolling:touch;border:1px solid #dbe4f0;border-radius:12px;overflow:auto}.table-shell__table{border-collapse:collapse;width:100%;min-width:680px}.table-shell__table th,.table-shell__table td{text-align:left;border-bottom:1px solid #e5eaf2;padding:9px 10px;font-size:13px}.table-shell__table th{z-index:1;background:#f8fafc;position:sticky;top:0}.search-filter-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.auth-shell{background:linear-gradient(#eef4fb,#f8fbff);place-items:center;min-height:100dvh;padding:20px;display:grid}.auth-shell__inner{grid-template-columns:1.1fr 1fr;gap:20px;width:min(90vw,1400px);min-height:min(520px,100dvh - 80px);display:grid}.auth-panel{border-radius:26px;overflow:hidden}.auth-panel--brand{background:0 0;border:none;place-items:center;padding:24px;display:grid}.auth-brand{text-align:center;place-items:center;gap:16px;width:min(520px,100%);display:grid}.auth-brand__logo{object-fit:contain;width:clamp(112px,22vw,152px);height:auto}.auth-brand h1{color:#294b74;letter-spacing:0;text-transform:uppercase;margin:0;font-size:clamp(24px,2.3vw,30px);font-weight:600;line-height:1.15}.auth-brand p{color:#294b74;text-transform:none;max-width:560px;margin:0;font-size:clamp(26px,2.5vw,34px);font-weight:800;line-height:1.08}.auth-brand .auth-brand__corp{gap:2px;line-height:1.02;display:grid}.auth-brand__corp span{display:block}.auth-brand__corp span:last-child{white-space:nowrap}.auth-panel--form{background:#fff;border:none;align-items:center;padding:26px;display:grid}.auth-form-card{gap:16px;width:min(440px,100%);margin:0 auto;display:grid}.auth-form-card h2{color:#0f172a;margin:0;font-size:clamp(28px,2.25vw,34px);line-height:1.18}.auth-form-card__desc{color:#64748b;margin:-2px 0 2px;font-size:14px;line-height:1.5}.auth-form-card .stack{gap:14px}.auth-form-card label{color:#334155;gap:8px;font-size:14px;font-weight:600;display:grid}.auth-form-card input{background:#fff;border-color:#d1dce8;border-radius:12px;height:46px;padding:10px 14px}.auth-password-field{align-items:center;display:grid;position:relative}.auth-password-field input{padding-right:46px}.auth-password-toggle{color:#64748b;width:30px;min-width:30px;height:30px;min-height:30px;box-shadow:none;background:#fff;border:1px solid #d5deea;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-password-toggle:hover{color:#334155;box-shadow:none;background:#f8fbff;transform:translateY(-50%)}.auth-submit-btn{background:#1d4ed8;border-radius:12px;justify-content:center;width:100%;height:46px;margin-top:4px;font-size:15px;font-weight:700}.auth-submit-btn:hover{background:#1e40af}.checkbox-inline{flex-direction:row;align-items:center;gap:8px;display:inline-flex}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;display:grid}.muted-text{color:var(--text-muted);margin-top:4px;font-size:13px}.user-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.user-bar label{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.card{background:var(--card);border:1px solid var(--border);box-shadow:none;border-radius:10px;margin-top:8px;padding:12px;transition:all .2s}.card:hover{box-shadow:none}.auth-card{max-width:460px;margin-left:auto;margin-right:auto}.search-box{flex-wrap:wrap;gap:10px;display:flex}.list-filter-bar{border:1px solid var(--border);background:#fafcff;border-radius:10px;align-items:end;padding:10px}.list-filter-bar>label,.list-filter-bar>.searchable-select,.list-filter-bar>input,.list-filter-bar>select{flex:1;min-width:170px}.list-filter-bar>label.filter-date-label{color:var(--text-muted,#666);flex-direction:column;gap:4px;min-width:155px;max-width:220px;font-size:13px;display:flex}.search-input-wide{flex:1;min-width:260px}.section-headline{gap:4px;margin-bottom:14px;display:grid}.section-headline.compact{margin-bottom:10px}.section-headline h3{color:#0f2f4f;margin:0;font-size:18px}.section-headline p{color:#5d6f82;margin:0;font-size:13px}.stats-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:12px;display:grid}.stats-strip__item{background:linear-gradient(#fff,#f5f9ff);border:1px solid #d5e2f0;border-radius:12px;gap:2px;padding:10px 12px;display:grid}.stats-strip__item span{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.stats-strip__item strong{color:#0f2f4f;font-size:22px;line-height:1.1}input,textarea,select,button{font:inherit}input,textarea,select{border:1px solid var(--border);width:100%;color:var(--text);background:var(--card);border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}input[type=checkbox],input[type=radio]{background:0 0;border:none;border-radius:0;width:auto;padding:0;transition:none}.date-input-wrap{width:100%;display:block;position:relative}.date-input-wrap input[type=text]{padding-right:36px}.date-picker-btn{cursor:pointer;width:34px;color:var(--text-muted,#888);background:0 0;border:none;border-radius:0 7px 7px 0;justify-content:center;align-items:center;padding:0;font-size:14px;transition:color .2s;display:flex;position:absolute;top:1px;bottom:1px;right:1px}.date-picker-btn:hover{color:var(--text,#333)}.date-picker-hidden{overflow:hidden;opacity:0!important;pointer-events:none!important;border:none!important;width:0!important;height:0!important;padding:0!important;position:absolute!important;top:0!important;right:0!important}.datetime-input{flex-wrap:wrap;align-items:stretch;gap:12px;width:100%;display:flex}.datetime-input .date-input-wrap{flex:0 220px;min-width:140px}.datetime-input__time{flex:0 0 155px;width:155px!important}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #007bff1a}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}button:active{transform:translateY(0)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}button.muted{background:var(--primary);color:#fff}.app-shell-header .icon-action,.icon-action{color:#334155;width:34px;min-width:34px;height:34px;min-height:34px;box-shadow:none;background:#fff;border:1px solid #d4dbe7;border-radius:9px;justify-content:center;align-items:center;gap:0;padding:0;display:inline-flex;transform:none}.app-shell-header .icon-action:hover,.icon-action:hover{color:#0f172a;box-shadow:none;background:#f8fafc;transform:none}.app-shell-header .icon-action:active,.icon-action:active{transform:none}.app-shell-header .icon-action.danger,.icon-action.danger{color:#b91c1c;background:#fff;border-color:#fbcaca}.app-shell-header .icon-action svg,.icon-action svg{stroke:currentColor;width:16px;height:16px;display:block}button.muted:hover{background:var(--primary-dark)}button.danger{background:var(--danger)}button.danger:hover{background:#c82333}.meeting-form .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.meeting-form label{color:var(--text);flex-direction:column;gap:8px;font-size:14px;font-weight:500;display:flex}.meeting-form h2{color:var(--primary-dark);margin:0 0 20px;font-size:22px}.meeting-user-select-block{margin-bottom:16px}.inline-pick-row{gap:10px;margin-top:8px;display:flex}.inline-pick-row input{flex:1}.user-picker-wrap{flex:1;position:relative}.user-picker-wrap input{width:100%}.user-picker-dropdown{background:var(--bg,#fff);border:1px solid var(--border,#ccc);z-index:200;border-radius:4px;max-height:220px;margin:2px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001f}.user-picker-dropdown li{cursor:pointer;border-bottom:1px solid var(--border,#eee);padding:7px 12px;font-size:.88em}.user-picker-dropdown li:last-child{border-bottom:none}.user-picker-dropdown li:hover{background:#dceeff}.selected-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{border:1px solid var(--border);background:var(--bg-light);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13px}.chip:hover{border-color:var(--primary);background:#dceeff}.meeting-fieldset{border:1px solid var(--border);border-radius:12px;gap:10px;margin:0 0 16px;padding:14px;display:grid}.meeting-fieldset legend{color:var(--primary-dark);padding:0 6px;font-weight:600}.meeting-fieldset-horizontal{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.meeting-inline-options{flex-wrap:wrap;gap:16px;display:flex}.meeting-span-2{grid-column:1/-1}.actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.table-wrap+.pagination-controls{margin-top:10px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.admin-grid>div>h3{color:var(--primary-dark);margin:0 0 16px;font-size:18px;font-weight:600}.master-data-section{margin-bottom:32px}.master-data-section h3{color:var(--primary-dark);border-bottom:2px solid var(--primary);margin:0 0 16px;padding-bottom:8px;font-size:18px;font-weight:600}.quick-template-panel{border:1px solid var(--border);background:var(--bg-light);border-radius:10px;gap:10px;padding:12px;display:grid}.quick-template-actions{flex-wrap:wrap;gap:8px;display:flex}.quick-template-actions button{padding:8px 12px;font-size:13px}.role-cell{gap:2px;display:grid}.role-cell span{color:var(--text-muted);font-size:12px}.user-search-bar{border:1px solid var(--border);background:var(--bg-light);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px;display:flex}.user-search-bar input{flex:1;min-width:320px}.user-search-bar label{color:var(--text)}.user-group-block{margin-top:16px}.user-group-block h4{color:var(--primary-dark);margin:0 0 10px;font-size:16px}.room-search-bar{border:1px solid var(--border);background:var(--bg-light);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px;display:flex}.room-search-bar input{flex:1;min-width:320px}.room-search-bar label{color:var(--text)}.room-group-block{margin-top:16px}.room-group-block h4{color:var(--primary-dark);margin:0 0 10px;font-size:16px}.location-search-bar{border:1px solid var(--border);background:var(--bg-light);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px;display:flex}.location-search-bar input{flex:1;min-width:320px}.location-search-bar label{color:var(--text)}.location-group-block{margin-top:16px}.location-group-block h4{color:var(--primary-dark);margin:0 0 10px;font-size:16px}.search-count{color:var(--text-muted);font-size:13px}.sidebar-customizer{gap:14px;display:grid}.sidebar-customize-section h3{color:var(--primary-dark);margin:0 0 10px;font-size:16px}.user-summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:12px;display:grid}.summary-card{border:1px solid var(--border);background:#fff;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.summary-card strong{color:var(--primary-dark);font-size:20px}.summary-card span{color:var(--text-muted);font-size:12px}.summary-card.warning{background:#fffbe6;border-color:#fcd34d}.user-filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.user-list-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.user-filter-bar .active-filter{background:var(--primary-dark);color:#fff}.status-tag{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.status-tag.ok{color:#15803d;background:#ecfdf5}.status-tag.warn{color:#c2410c;background:#fff7ed}.required{color:var(--danger);font-weight:700}.stack{gap:12px;display:grid}.log-retention-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.log-retention-actions button{justify-content:center;width:auto;min-width:180px}.checkbox-line{color:var(--text);cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.checkbox-line input{cursor:pointer;width:auto}.simple-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.simple-list li{border:1px solid var(--border);background:var(--bg-light);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.simple-list li:hover{border-color:var(--primary);background:var(--card)}.heatmap-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px;display:grid}.heat-cell{border:1px solid #0000;border-radius:10px;gap:8px;padding:16px;transition:all .2s;display:grid;position:relative}.heat-cell:hover{z-index:100;transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.heat-cell.free{background:#f6ffed;border-color:#a7f3d0}.heat-cell.busy{background:#f8d7da;border-color:#fecaca}.heat-cell strong{color:var(--text);font-weight:600}.heat-cell span{color:var(--text-muted);font-size:13px}.heat-tooltip{z-index:200;color:#1f2937;opacity:0;visibility:hidden;pointer-events:none;white-space:normal;word-break:break-word;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:220px;max-width:320px;padding:10px 12px;font-size:13px;line-height:1.55;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 6px);left:0;transform:translateY(4px);box-shadow:0 4px 16px #0000001f}.heat-cell.busy:hover .heat-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.calendar-shell{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:start;gap:20px;display:grid}.calendar-main-panel,.calendar-detail-panel{border:1px solid var(--border);background:var(--card);border-radius:18px}.calendar-main-panel{padding:18px}.calendar-detail-panel{padding:18px;position:sticky;top:16px}.calendar-summary-column{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.calendar-summary-column .calendar-summary-card{border-radius:14px;width:100%;min-width:0;padding:10px 12px}.calendar-summary-column .calendar-summary-card strong{font-size:20px;line-height:1.1}.calendar-summary-column .calendar-summary-card span{font-size:12px;line-height:1.25}.calendar-controls{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:14px;display:grid}.calendar-controls label{color:var(--text);gap:8px;font-size:14px;font-weight:500;display:grid}.calendar-range-card{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #bfdbfe;border-radius:14px;gap:6px;padding:12px 14px;display:grid}.calendar-range-card strong{color:#1d4ed8}.calendar-range-card span{color:var(--text-muted);font-size:13px}.calendar-summary-row{flex-wrap:wrap;gap:12px;display:flex}.calendar-summary-card{border:1px solid var(--border);background:linear-gradient(#fff,#f8fafc);border-radius:16px;gap:4px;min-width:130px;padding:12px 14px;display:grid}.calendar-summary-card strong{color:var(--primary-dark);font-size:24px}.calendar-summary-card span{color:var(--text-muted);font-size:13px}.calendar-summary-card.is-live{background:linear-gradient(#fff1f2,#ffe4e6);border-color:#fca5a5}.calendar-legend{flex-wrap:wrap;gap:10px 14px;margin-bottom:16px;display:flex}.calendar-legend-item{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.calendar-legend-dot,.calendar-event-dot{border-radius:999px;flex:none;width:10px;height:10px}.calendar-frame{border:1px solid var(--border);background:#fff;border-radius:18px;overflow:hidden}.fc{--fc-border-color:#e5e7eb;--fc-page-bg-color:#fff;--fc-neutral-bg-color:#f8fafc;--fc-today-bg-color:#eff6ff;--fc-event-border-color:transparent;--fc-button-bg-color:var(--primary);--fc-button-border-color:var(--primary);--fc-button-hover-bg-color:var(--primary-light);--fc-button-hover-border-color:var(--primary-light);--fc-button-active-bg-color:var(--primary-dark);--fc-button-active-border-color:var(--primary-dark);padding:14px}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:14px}.fc .fc-toolbar-title{color:var(--text);font-size:20px;font-weight:700}.fc .fc-button{text-transform:none;box-shadow:none;border-radius:10px}.fc .fc-col-header-cell-cushion,.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{color:var(--text-muted);font-weight:600}.fc .fc-daygrid-day-number,.fc .fc-timegrid-slot-label{color:var(--text)}.fc .fc-event{box-shadow:none;border-radius:12px;padding:2px 4px;text-decoration:none}.fc .fc-event:hover,.fc .fc-event:focus,.fc .fc-event:active{text-decoration:none}.calendar-event-chip{min-width:0;color:var(--event-text);align-items:flex-start;gap:8px;text-decoration:none;display:flex}.calendar-event-dot{background:var(--event-dot);margin-top:5px}.calendar-event-copy{gap:2px;min-width:0;display:grid}.calendar-event-copy strong,.calendar-event-copy span{text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.calendar-event-copy strong{font-size:11px}.calendar-event-copy span{font-size:12px;font-weight:600}.calendar-detail-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.calendar-detail-header h3{margin:0;font-size:18px}.calendar-loading-badge{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.calendar-detail-status{background:var(--status-color);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.calendar-detail-status{background:color-mix(in srgb,var(--status-color) 14%,#fff)}}.calendar-detail-status{color:var(--status-color);margin-bottom:14px;font-size:12px;font-weight:700}.calendar-detail-status:before{content:"";background:var(--status-color);border-radius:999px;width:8px;height:8px}.calendar-detail-panel h4{margin:0 0 16px;font-size:22px;line-height:1.35}.calendar-detail-list{gap:12px;display:grid}.calendar-detail-list div{background:var(--bg-light);border-radius:14px;gap:4px;padding:12px 14px;display:grid}.calendar-detail-list span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px}.calendar-detail-list strong{color:var(--text);line-height:1.4}.kpi-filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:12px;margin-bottom:20px;display:grid}.kpi-filters label{color:var(--text);gap:8px;font-size:14px;font-weight:500;display:grid}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:16px;display:grid}.kpi-item{background:var(--card);border:1px solid var(--border);border-radius:12px;gap:10px;padding:20px;transition:all .2s;display:grid;position:relative;overflow:hidden}.kpi-item:before{content:"";background:var(--text-muted);height:4px;position:absolute;top:0;left:0;right:0}.kpi-item.blue:before{background:var(--kpi-blue)}.kpi-item.green:before{background:var(--kpi-green)}.kpi-item.orange:before{background:var(--kpi-orange)}.kpi-item.purple:before{background:var(--kpi-purple)}.kpi-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.kpi-item span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:500}.kpi-item strong{color:var(--text);font-size:32px;font-weight:700;line-height:1}.export-box{border-top:1px solid var(--border);background:var(--bg-light);border-radius:10px;margin-top:20px;padding:16px}.export-box h3{color:var(--primary-dark);margin:0 0 12px;font-size:16px;font-weight:600}.column-picker{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0 16px;display:grid}.column-picker-section{margin-top:12px}.column-picker-title{color:var(--text-muted);margin:6px 0;font-size:14px;font-weight:600}.column-picker label{color:var(--text);cursor:pointer;border:1px solid var(--border-light);background:#fff;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;font-size:14px;display:flex}.column-picker label input{width:auto;margin-top:3px}.column-label{word-break:break-word;line-height:1.35}.column-option-card{gap:8px;display:grid}.column-subfilters{gap:6px;margin-left:28px;display:grid}.column-subfilters label{background:0 0;border:none;padding:0;font-size:13px}.log-filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:12px;margin-bottom:20px;display:grid}.log-filter-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.log-filter-row label{color:var(--text);flex-direction:column;flex:160px;gap:6px;min-width:140px;max-width:240px;font-size:14px;font-weight:500;display:flex}.log-filter-row label span{white-space:nowrap}.log-filters label{color:var(--text);gap:8px;font-size:14px;font-weight:500;display:grid}.searchable-select{width:100%;position:relative}.searchable-select__input-wrap{align-items:center;display:flex;position:relative}.searchable-select__input-wrap input{width:100%;padding-right:28px}.searchable-select__icon-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1;position:absolute;right:6px}.searchable-select__icon-btn:hover{color:var(--text)}.searchable-select__arrow{font-size:10px}.searchable-select__dropdown{border:1px solid var(--border);z-index:9999;background:#fff;border-radius:6px;max-height:220px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001f}.searchable-select__dropdown li{cursor:pointer;color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:0;padding:8px 12px;font-size:13px;overflow:hidden}.searchable-select__dropdown li:hover,.searchable-select__dropdown li.selected{color:var(--text);background:#eceff3}.searchable-select__empty{color:var(--text-muted);cursor:default;padding:8px 12px;font-size:13px}table{border-collapse:collapse;width:100%;font-size:13px}thead{background:var(--bg-light);border-bottom:2px solid var(--border)}th{text-align:left;color:var(--text);padding:10px 12px;font-weight:600}td{border-bottom:1px solid var(--border-light);color:var(--text);padding:8px 12px;line-height:1.35}tbody tr:hover{background:#f8fbff}.data-table thead{z-index:2;position:sticky;top:0}.data-table th{white-space:nowrap;background:#f5f8fd}.truncate-cell{white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;max-width:min(320px,40vw);display:inline-block;overflow:hidden}.table-badge{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #d3deea;border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:12px;display:inline-flex}.table-badge--primary{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.table-badge--info{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}.table-badge--neutral{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.table-badge--success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.table-badge--warning{color:#9a3412;background:#fff7ed;border-color:#fdba74}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.row-actions button{padding:6px 12px;font-size:13px}.row-actions--compact{gap:6px}.action-btn{justify-content:center;min-width:64px}.pagination-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pagination-controls__info{color:var(--text-muted);text-align:center;min-width:92px;font-size:13px}.pagination-controls__size{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.pagination-controls__size select{width:auto;min-width:72px;padding:6px 8px}.pagination-nav{color:#fff;background:#1e293b;border:none;min-width:32px;padding:6px 10px}.pagination-nav:hover:not(:disabled){background:#0f172a}.pagination-nav:disabled{cursor:not-allowed;background:#94a3b8}.meeting-table{table-layout:auto}.meeting-table td{vertical-align:top}.meeting-table__wide{min-width:160px;max-width:280px}.meeting-table__time{white-space:nowrap;min-width:155px}.meeting-cell-text{-webkit-line-clamp:3;white-space:normal;word-break:break-word;overflow-wrap:break-word;-webkit-box-orient:vertical;min-width:100px;max-width:260px;line-height:1.45;display:-webkit-box;overflow:hidden}.meeting-cell-text--title{-webkit-line-clamp:2}.report-detail-table td{vertical-align:top}.report-tabs{border-bottom:1px solid #d4e0ef;gap:12px;margin-bottom:20px;padding-bottom:10px;display:flex}.report-tab{color:#4f647b;box-shadow:none;background:#edf3fb;border:1px solid #d7e2f0;border-radius:10px}.report-tab:hover{box-shadow:none;background:#e4edf9;transform:none}.log-badge{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #d5deea;border-radius:999px;justify-content:center;align-items:center;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.log-badge--access{color:#475569;background:#eef2f7;border-color:#cbd5e1}.log-badge--auth{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.log-badge--error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.log-badge--audit{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.log-badge--status-ok{color:#166534;background:#ecfdf5;border-color:#a7f3d0}.log-badge--status-4xx{color:#c2410c;background:#fff7ed;border-color:#fdba74}.log-badge--status-5xx{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.modal-form__actions .danger{background:var(--danger);color:#fff}.modal-form__actions .danger:hover{background:#c82333}.report-tab.active{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.report-panel{flex-direction:column;gap:16px;display:flex}.report-historical-toggle{margin-bottom:8px}.report-historical-toggle label{color:#334155;align-items:center;gap:8px;font-size:13px;display:inline-flex}.member-picker{border:1px solid var(--border);background:var(--bg-light);border-radius:10px;max-height:240px;margin-top:10px;padding:12px;overflow:auto}.member-option{align-items:center;gap:10px;padding:6px 0;display:flex}.member-option-disabled{opacity:.65}.member-option input{width:auto}.success{color:var(--success);font-weight:500}.error{color:var(--danger);font-weight:500}.warning{color:var(--warning);font-weight:500}.info{color:var(--info);font-weight:500}.empty{color:var(--text-muted);text-align:center;padding:40px 20px}.message-box{border-left:4px solid;border-radius:10px;margin-bottom:16px;padding:16px;font-weight:500}.message-box.success{color:var(--success);border-left-color:var(--success);background:#f6ffed}.message-box.error{color:var(--danger);border-left-color:var(--danger);background:#f8d7da}.message-box.warning{color:var(--warning);border-left-color:var(--warning);background:#fffbe6}.message-box.info{color:var(--info);border-left-color:var(--info);background:#d1ecf1}.toast-container{z-index:1200;flex-direction:column;gap:10px;width:min(420px,100vw - 24px);display:flex;position:fixed;top:84px;right:20px}.toast-item{border:1px solid #0000;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;animation:.2s ease-out toast-slide-in;display:flex;box-shadow:0 10px 24px #0f172a33}.toast-item strong{font-size:13px}.toast-item span{font-size:14px;line-height:1.45}.toast-item.success{color:#166534;background:#f0fdf4;border-color:#86efac}.toast-item.error{color:#991b1b;background:#fef2f2;border-color:#fca5a5}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1200px){.admin-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.meeting-form .grid{grid-template-columns:1fr}.toast-container{width:calc(100vw - 24px);top:76px;right:12px}}@media (max-width:768px){.app-shell__content{padding:8px}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:12px}.admin-grid,.meeting-form .grid{grid-template-columns:1fr}.calendar-shell{grid-template-columns:1fr;display:grid}.calendar-detail-panel{position:static}.calendar-controls{grid-template-columns:1fr}.calendar-summary-row{width:100%}.calendar-summary-card{flex:120px;min-width:0}.fc .fc-toolbar{flex-direction:column;align-items:stretch;gap:10px}.fc .fc-toolbar-chunk{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.kpi-filters,.log-filters{grid-template-columns:1fr}.search-box{flex-direction:column}table{font-size:12px}th,td{padding:8px}.row-actions{flex-direction:column}.row-actions button{width:100%;min-height:44px}td .row-actions{flex-direction:row}td .row-actions button{width:auto;min-height:36px}.app-shell-header{min-height:76px;padding:8px 10px}.app-shell-header__center{gap:8px;padding:0 96px}.app-shell-header__side--left{left:10px}.app-shell-header__side--right{right:10px}.app-shell-header__logo{width:36px}.app-shell-header__line1{font-size:13px}.app-shell-header__line2{font-size:14px}.user-chip{display:none}.sidebar-drawer{top:76px}.sidebar-backdrop{top:76px;right:0;bottom:0;left:0}.app-shell__body{grid-template-columns:1fr}.dashboard-toolbar label{flex:100%}.app-shell-footer{text-align:center;flex-direction:column;gap:8px;min-height:110px;padding:10px;font-size:12px}.app-shell-footer p{line-height:1.25}.auth-shell{padding:12px}.auth-shell__inner{grid-template-columns:1fr;gap:12px;min-height:auto}.auth-panel{border-radius:18px}.auth-panel--brand{padding:20px 14px}.auth-brand{gap:10px}.auth-brand__logo{width:96px}.auth-brand h1{font-size:18px}.auth-brand p{font-size:24px;line-height:1.15}.auth-panel--form{padding:18px 14px}.meeting-fieldset-horizontal{grid-template-columns:1fr}.meeting-inline-options{flex-direction:column;gap:12px}.meeting-span-2{grid-column:auto}.page-shell__header--row{flex-direction:column;gap:10px}.dashboard-modal__form--grid{grid-template-columns:1fr}.dashboard-color-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-series-color-row{grid-template-columns:minmax(0,1fr) auto}.dashboard-label-map-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-filter-builder-panel__header{flex-direction:column;align-items:flex-start}.dashboard-filter-builder-row{grid-template-columns:minmax(0,1fr)}.dashboard-series-color-row__remove{grid-column:1/-1;justify-self:end}.dashboard-hero__actions{justify-content:flex-start}.dashboard-hero__pack-actions{width:100%;margin-right:0}.dashboard-hero__pack-actions select{flex:auto;min-width:0}}@media (max-width:480px){.kpi-grid{grid-template-columns:1fr;gap:10px}.kpi-item{padding:16px}.kpi-item strong{font-size:24px}.meeting-form .grid{grid-template-columns:1fr}.actions{flex-direction:column}.actions button{width:100%}.column-picker{grid-template-columns:1fr}.app-shell-header{min-height:70px}.sidebar-drawer{top:70px}.sidebar-backdrop{top:70px;right:0;bottom:0;left:0}.app-shell-header__center{padding:0 86px 0 58px}.app-shell-header__line1{font-size:11px}.app-shell-header__line2{font-size:12px}.app-shell-footer{text-align:center;min-height:120px;font-size:11px}.app-shell-footer__logo{width:40px}.app-shell-footer{justify-content:center;gap:4px 12px}.calendar-summary-card{flex:100%}}.dashboard-page{flex-direction:column;gap:10px;display:flex}.dashboard-hero{background:#fff;border:1px solid #dbe4f0;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.dashboard-hero__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboard-hero__personal-badge{color:var(--primary);margin:0 0 8px;font-size:12px;font-weight:500}.dashboard-hero__personalize-hint{color:var(--text-muted);flex-basis:100%;margin:4px 0 0;font-size:12px}.dashboard-hero__pack-actions{flex-wrap:nowrap;align-items:center;gap:8px;margin-right:auto;display:flex}.dashboard-hero__pack-actions select{min-width:240px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:8px 10px}.dashboard-hero__pack-actions button{white-space:nowrap;min-width:128px}.dashboard-selector,.dashboard-toolbar{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.dashboard-selector label,.dashboard-toolbar label,.dashboard-modal__form label{color:#475569;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.dashboard-selector select,.dashboard-toolbar select,.dashboard-toolbar input,.dashboard-modal__form input,.dashboard-modal__form select,.dashboard-modal__form textarea{min-width:140px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px}.dashboard-modal__form select[multiple]{min-height:140px;padding:8px}.dashboard-role-scope-hint{color:#64748b;margin-top:4px;font-size:12px;font-weight:400}.dashboard-selector__actions,.dashboard-toolbar__group,.dashboard-toolbar__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dashboard-toolbar__hint{color:#64748b;font-size:13px}.dashboard-toolbar__cancel{color:#fff;background:#6b7280;border-color:#6b7280}.dashboard-toolbar__cancel:hover{background:#4b5563;border-color:#4b5563}.dashboard-widget{border-radius:20px;flex-direction:column;height:100%;min-height:100%;display:flex;overflow:hidden}.dashboard-widget__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.dashboard-widget__header h3{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:17px;overflow:hidden}.dashboard-widget__header p{color:#64748b;margin:4px 0 0;font-size:12px}.dashboard-widget__ghost{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.dashboard-widget__actions{align-items:center;gap:8px;display:flex}.dashboard-widget__ghost--danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.dashboard-widget__body{flex:1;min-height:0;display:flex}.dashboard-widget__state{color:#64748b;place-items:center;min-height:120px;display:grid}.dashboard-widget__state--error,.error{color:#b91c1c}.dashboard-kpi{background:linear-gradient(#1d4ed805,#0f766e14),linear-gradient(120deg,#f8fafc,#fff);border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;width:100%;min-height:0;padding:12px 10px;display:flex}.dashboard-kpi__label{color:#475569;font-size:14px;font-weight:600}.dashboard-kpi__value{color:#0f172a;letter-spacing:.01em;font-size:clamp(24px,3vw,36px);line-height:1}.dashboard-kpi__unit{color:#0f766e;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:700}.dashboard-chart,.dashboard-table{width:100%;height:100%;min-height:260px}.nivo-tooltip__line{line-height:1.35;display:block}.nivo-tooltip__line--value{font-weight:700}.dashboard-grid-host{width:100%}.dashboard-table-wrap{background:#fff;border:1px solid #dbe4f0;border-radius:12px;height:100%;min-height:260px;overflow:auto}.dashboard-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.dashboard-table thead{z-index:1;position:sticky;top:0}.dashboard-table th,.dashboard-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:10px 12px}.dashboard-table th{color:#0f172a;background:#f8fafc;font-weight:700}.dashboard-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.dashboard-table tbody tr:hover{background:#eff6ff}.react-grid-item>.react-resizable-handle:after{border-color:#1d4ed8}.dashboard-modal__overlay{z-index:90;background:#0f172a7a;position:fixed;top:0;right:0;bottom:0;left:0}.dashboard-modal{z-index:91;background:#fff;border-radius:20px;width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);padding:24px;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 80px #0f172a38}.dashboard-modal--wide{width:min(760px,100vw - 32px)}.dashboard-modal h2,.dashboard-modal h3,.dashboard-modal [data-radix-dialog-title]{color:#0f172a;margin:0 0 18px}.dashboard-modal__form{flex-direction:column;gap:14px;display:flex}.dashboard-modal__form--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-modal__actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.dashboard-widget-builder-modal{width:min(920px,100vw - 32px)}.dashboard-widget-builder__group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px}.dashboard-widget-builder__group h4{color:#0f172a;letter-spacing:.02em;text-transform:uppercase;margin:0 0 10px;font-size:13px}.dashboard-widget-builder__full-row{grid-column:1/-1}.dashboard-widget-builder__grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-widget-builder__preset-actions{align-items:flex-end;display:flex}.dashboard-widget-builder__chip-grid{flex-wrap:wrap;gap:8px;display:flex}.dashboard-template-manager{background:#fff;border:1px dashed #cbd5e1;border-radius:10px;flex-direction:column;gap:10px;padding:10px;display:flex}.dashboard-template-manager__header{color:#334155;justify-content:space-between;align-items:center;font-size:12px;display:flex}.dashboard-template-manager__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dashboard-template-manager__actions{flex-wrap:wrap;gap:8px;display:flex}.dashboard-template-manager__danger{color:#b91c1c;border-color:#fecaca}.dashboard-template-manager__notice{color:#0f766e;margin:0;font-size:12px}.dashboard-color-picker-panel{background:#fff;border:1px solid #dbe3ee;border-radius:10px;flex-direction:column;gap:10px;padding:10px;display:flex}.dashboard-color-picker-panel__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-color-picker-panel__title{color:#0f172a;font-size:12px;font-weight:700}.dashboard-color-picker-panel__action{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:4px 8px;font-size:12px}.dashboard-color-picker-panel__empty{color:#64748b;font-size:12px}.dashboard-color-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dashboard-color-picker-item{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px;font-size:12px;display:flex}.dashboard-color-picker-item input[type=color]{background:0 0;border:none;width:34px;height:24px;padding:0}.dashboard-series-color-list{flex-direction:column;gap:8px;display:flex}.dashboard-series-color-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.dashboard-label-map-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.dashboard-series-color-row input[type=color]{background:0 0;border:none;width:36px;height:28px;padding:0}.dashboard-series-color-row__remove{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:4px 8px;font-size:12px}.dashboard-filter-builder-panel{flex-direction:column;gap:10px;display:flex}.dashboard-filter-builder-panel__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.dashboard-filter-builder-panel__title{color:#0f172a;font-size:13px;font-weight:600}.dashboard-filter-builder-panel__actions{align-items:center;gap:8px;display:flex}.dashboard-filter-builder-list{flex-direction:column;gap:8px;display:flex}.dashboard-filter-builder-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:8px;display:grid}.dashboard-widget-builder__compat-hint--error{color:#b91c1c}.dashboard-widget-chip{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}.dashboard-widget-chip:hover{color:#1d4ed8;box-shadow:none;background:#eff6ff;border-color:#bfdbfe;transform:none}.dashboard-widget-builder__compat-hint{color:#64748b;background:#f8fafc;border-left:3px solid #bfdbfe;border-radius:4px;grid-column:1/-1;margin:-4px 0 0;padding:4px 8px;font-size:11px}.dashboard-checkbox-field{color:#334155;background:#fff;border:1px solid #dbe3ee;border-radius:10px;align-items:center;gap:8px;min-height:40px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.dashboard-checkbox-field input{width:auto;margin:0}.dashboard-kpi--trend .dashboard-kpi__trend{align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.dashboard-kpi--trend .dashboard-kpi__trend--up{color:#0f766e}.dashboard-kpi--trend .dashboard-kpi__trend--down{color:#be123c}.dashboard-kpi--trend .dashboard-kpi__trend--flat{color:#475569}.dashboard-kpi__caption{color:#64748b;font-size:12px}.dashboard-progress{flex-direction:column;gap:10px;width:100%;display:flex}.dashboard-progress__head,.dashboard-progress__foot{color:#334155;justify-content:space-between;align-items:center;font-size:13px;display:flex}.dashboard-progress__head strong{color:#0f172a;font-size:22px}.dashboard-progress__bar{background:#e2e8f0;border-radius:999px;width:100%;height:12px;overflow:hidden}.dashboard-progress__bar span{background:linear-gradient(90deg,#0f766e,#1d4ed8);height:100%;display:block}.dashboard-summary{gap:12px;width:100%;display:grid}.dashboard-summary__total{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;justify-content:space-between;align-items:baseline;padding:12px;display:flex}.dashboard-summary__total strong{color:#1d4ed8;font-size:22px}.dashboard-summary__total span{color:#475569;font-size:12px}.dashboard-summary__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dashboard-summary__list li{border-bottom:1px dashed #dbe3ee;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.dashboard-ranking-list{gap:8px;width:100%;margin:0;padding-left:0;list-style:none;display:grid}.dashboard-ranking-list li{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.dashboard-ranking-list__index{color:#1d4ed8;font-weight:700}.dashboard-ranking-list__label{color:#334155}.dashboard-ranking-list__value{color:#0f172a}.dashboard-detail-list{gap:10px;width:100%;max-height:100%;padding-right:4px;display:grid;overflow:auto}.dashboard-detail-list__item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:8px;padding:10px;display:grid}.dashboard-detail-list__field{gap:3px;display:grid}.dashboard-detail-list__field span{color:#64748b;font-size:12px}.dashboard-detail-list__field strong{color:#0f172a;font-size:13px}.dashboard-widget-placeholder{color:#334155;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;gap:8px;padding:14px;display:grid}.dashboard-widget-placeholder strong{color:#1e293b}@media (max-width:900px){.dashboard-hero,.dashboard-selector,.dashboard-toolbar{flex-direction:column;align-items:stretch}.dashboard-selector select,.dashboard-toolbar select,.dashboard-toolbar input{min-width:100%}}@media (max-width:1024px){.sidebar-rail,.sidebar-rail .sidebar{width:74px}.sidebar-rail .sidebar-menu-item>button,.sidebar-rail .sidebar-submenu-item>button{justify-content:center;padding:10px 8px}.sidebar-rail .sidebar-menu-item>button span,.sidebar-rail .sidebar-submenu-item>button span{display:none}}.dashboard-editor-modal{width:min(680px,100vw - 32px)!important;max-height:80vh!important}.dashboard-editor__section{border:none;flex-direction:column;gap:12px;margin:0;padding:0;display:flex}.dashboard-editor__section legend{color:#0f172a;margin-bottom:4px;padding:0;font-size:14px;font-weight:700}.dashboard-checkbox-label{cursor:pointer;align-items:center;padding:8px 0;flex-direction:row!important;gap:8px!important;display:flex!important}.dashboard-checkbox-input{cursor:pointer;min-width:unset!important;width:18px!important;height:18px!important;padding:0!important}.dashboard-checkbox-text{color:#334155;font-size:13px;font-weight:500}.dashboard-scope-selector{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;margin-top:8px;padding:12px;display:flex}.dashboard-scope-type-selector{flex-direction:column;gap:6px;display:flex}.dashboard-scope-type-selector label{color:#475569;font-size:12px;font-weight:600;margin-bottom:0!important}.dashboard-scope-type-dropdown{min-width:unset!important;padding:8px 10px!important;font-size:13px!important}.dashboard-scope-search{width:100%;font-size:13px;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;padding:8px 10px!important}.dashboard-scope-options{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1;max-height:250px;overflow-y:auto}.dashboard-scope-list{flex-direction:column;gap:0;padding:4px;display:flex}.dashboard-scope-item{cursor:pointer;border-radius:6px;align-items:center;transition:background-color .15s;flex-direction:row!important;gap:8px!important;padding:8px 10px!important;display:flex!important}.dashboard-scope-item:hover{background-color:#f0f4f8}.dashboard-scope-checkbox{cursor:pointer;min-width:unset!important;width:16px!important;height:16px!important;margin:0!important;padding:0!important}.dashboard-scope-label{color:#334155;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.dashboard-scope-empty{text-align:center;color:#64748b;background:#f8fafc;padding:16px 12px;font-size:13px}.dashboard-scope-hint{color:#64748b;border-top:1px solid #e2e8f0;margin-top:4px;padding-top:4px;font-size:12px;line-height:1.4}.dashboard-scope-hint strong{color:#334155;font-weight:600}.btn-primary{color:#fff;cursor:pointer;background:#1d4ed8;border:1px solid #1d4ed8;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .15s}.btn-primary:hover:not(:disabled){background:#1e40af}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:background-color .15s}.btn-secondary:hover{background:#e2e8f0}.wtm-card{max-width:860px}.wtm-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.wtm-title{color:#0f172a;margin:0 0 4px;font-size:1.25rem;font-weight:700}.wtm-subtitle{color:#64748b;margin:0;font-size:13px}.wtm-btn-create{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:8px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:600}.wtm-btn-create:hover{background:#1d4ed8}.wtm-tabs{border-bottom:2px solid #e2e8f0;gap:4px;margin-bottom:0;display:flex}.wtm-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;align-items:center;gap:6px;margin-bottom:-2px;padding:8px 16px;font-size:14px;font-weight:500;transition:color .15s;display:flex}.wtm-tab:hover{color:#1e40af;background:#f1f5f9}.wtm-tab--active{color:#1e40af;border-bottom-color:#2563eb;font-weight:600}.wtm-tab-badge{color:#475569;background:#e2e8f0;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.wtm-tab--active .wtm-tab-badge{color:#1d4ed8;background:#dbeafe}.wtm-panel{padding:8px 0}.wtm-empty{text-align:center;color:#94a3b8;padding:40px 24px}.wtm-empty p{margin:0 0 12px;font-size:14px}.wtm-empty button{color:#475569;cursor:pointer;background:#f1f5f9;border:1.5px dashed #94a3b8;border-radius:8px;padding:8px 18px;font-size:14px}.wtm-empty button:hover{color:#1e40af;background:#e2e8f0;border-color:#60a5fa}.wtm-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.wtm-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:background .12s,border-color .12s;display:flex}.wtm-item:hover{background:#f1f5f9;border-color:#cbd5e1}.wtm-item--hidden{opacity:.55}.wtm-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.wtm-item-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.wtm-item-key{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,monospace;font-size:11px;overflow:hidden}.wtm-item-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.wtm-badge-tag{border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.wtm-badge-tag--custom{color:#1d4ed8;background:#dbeafe}.wtm-badge-tag--hidden{color:#92400e;background:#fef3c7}.wtm-btn-edit,.wtm-btn-hide{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #cbd5e1;border-radius:6px;padding:4px 12px;font-size:13px;transition:all .12s}.wtm-btn-edit:hover,.wtm-btn-hide:hover{color:#1e293b;background:#f1f5f9;border-color:#94a3b8}.wtm-btn-delete{color:#dc2626;cursor:pointer;background:#fff;border:1.5px solid #fca5a5;border-radius:6px;padding:4px 12px;font-size:13px;transition:all .12s}.wtm-btn-delete:hover{background:#fef2f2;border-color:#ef4444}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}
