:root{--bg: #f3f4f9;--surface: #ffffff;--surface-2: #f2f3f8;--surface-3: #e7e9f2;--border: #e3e6ef;--border-strong: #cfd4e3;--text: #1d2233;--text-dim: #5f6880;--accent: #6a4aef;--accent-hover: #5a3ad9;--accent-soft: rgba(106, 74, 239, .1);--on-accent: #ffffff;--danger: #dc4747;--success: #1f9d61;--warn: #c98a13;--radius: 6px;--radius-sm: 5px;--shadow: 0 1px 2px rgba(16, 24, 40, .04);--shadow-lift: 0 8px 24px rgba(16, 24, 40, .12);--nav-bg: rgba(255, 255, 255, .85);--nav-h: 56px;--tabs-h: 62px;--sidebar-bg: var(--surface)}.theme-admin{--bg: #171c28;--surface: #1f2634;--surface-2: #283040;--surface-3: #323c50;--border: #353f54;--border-strong: #45516b;--text: #e9ebf2;--text-dim: #9aa4b8;--accent: #4f8dff;--accent-hover: #6ba0ff;--accent-soft: rgba(79, 141, 255, .16);--on-accent: #0d1420;--danger: #ef5c5c;--success: #3fbf7f;--warn: #f2b13a;--shadow: 0 1px 2px rgba(0, 0, 0, .22);--shadow-lift: 0 8px 24px rgba(0, 0, 0, .4);--nav-bg: rgba(19, 24, 34, .9);--sidebar-bg: #131924}*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.45}.app-root{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}::selection{background:#7c5cff40}h1{font-size:26px;letter-spacing:-.02em;line-height:1.2}h2{font-size:20px;letter-spacing:-.01em;line-height:1.25}h3{font-size:16px;line-height:1.3}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 80ms ease,opacity .12s ease,box-shadow .12s ease,filter .12s ease}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:default;opacity:.55}input,textarea,select{font-family:inherit;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:14px;width:100%;transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.container{max-width:1160px;margin:0 auto;padding:20px 24px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:12px;align-items:center}.muted{color:var(--text-dim)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.card-hover{transition:border-color .14s ease,background .14s ease}.card-hover:hover{border-color:var(--border-strong);background:var(--surface-2)}.notif-row{cursor:pointer;border-left:3px solid transparent}.notif-row.unread{background:var(--surface-2);border-left-color:var(--accent)}.notif-row.unread:hover{background:var(--surface-3);border-left-color:var(--accent)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.section-title{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);margin:8px 0 0}.empty{text-align:center;padding:28px 16px;color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.list-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;color:var(--text)}.list-row+.list-row{border-top:1px solid var(--border)}a.list-row{transition:background .1s ease}a.list-row:hover{background:var(--surface-2);color:var(--text)}a.list-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0 2px}.section-head .section-title{margin:0}.section-link{font-size:13px}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:8px 40px;align-items:start}.home-main{display:flex;flex-direction:column;gap:16px;min-width:0}.home-rail{display:flex;flex-direction:column;min-width:0}.rail-mod{padding:16px 0 18px}.rail-mod+.rail-mod{border-top:1px solid var(--border-strong)}.rail-mod:first-child{padding-top:4px}.rail-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.rail-head .section-title{margin:0}@media (max-width: 1320px){.home-grid{grid-template-columns:1fr}.home-rail{margin-top:8px;border-top:1px solid var(--border-strong)}.rail-mod:first-child{padding-top:16px}}.hero{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:18px 20px}.progress-track{height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.live-dot{width:8px;height:8px;border-radius:999px;background:var(--success);animation:pulse 1.6s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.draggable{cursor:grab}.draggable:active{cursor:grabbing}.drop-target{outline:2px dashed var(--accent);outline-offset:2px;border-radius:var(--radius)}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-2)}.table td{padding:9px 10px;border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:none}.table tbody tr.row-link{cursor:pointer;transition:background .1s ease}.table tbody tr.row-link:hover{background:var(--surface-2)}.table-card{padding:0;overflow:hidden}.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.badge-dot{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;border-radius:999px;background:var(--danger);color:var(--on-accent);font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}.navbar{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;height:var(--nav-h);padding:0 16px;background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.viewas-bar{position:sticky;top:var(--nav-h);z-index:35;display:flex;justify-content:center;align-items:center;gap:8px;padding:6px 16px;background:var(--accent);color:var(--on-accent);font-size:13px;line-height:1.4}.viewas-bar strong{font-weight:700}.viewas-bar button{margin-left:6px;padding:2px 10px;background:#ffffff38;border:none;border-radius:5px;color:inherit;font-size:12.5px;font-weight:600}.theme-admin .viewas-bar button{background:#00000038}.view-toggle{display:flex;align-items:center;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:2px}.view-toggle button{border:none;background:transparent;color:var(--text-dim);font-size:12.5px;font-weight:600;padding:4px 11px;border-radius:6px}.view-toggle button:hover{filter:none;color:var(--text)}.view-toggle button.active{background:var(--accent);color:var(--on-accent)}.admin-chip{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:2px 6px}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0a0c1473;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding:min(14vh,120px) 16px 16px}.palette{width:min(600px,100%);background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-lift);padding:10px;animation:fadeIn .16s ease both}.palette-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:8px;background:transparent;border:none;color:var(--text);font-size:14px}.palette-item:hover{filter:none}.palette-item.active{background:var(--accent-soft)}.palette-item .palette-ico{width:20px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);flex-shrink:0}.palette-item.active .palette-ico{color:var(--accent)}.event-tabs{display:flex;gap:4px;align-items:center;border-bottom:1px solid var(--border);margin-bottom:4px;overflow-x:auto}.event-tab{padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--text-dim);border-bottom:2px solid transparent;white-space:nowrap}.event-tab:hover{color:var(--text);filter:none}.event-tab.active{color:var(--accent);border-bottom-color:var(--accent)}button.event-tab{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0}.brand-mark{width:27px;height:27px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,#6a4aef,#4f8dff);display:grid;place-items:center;color:#fff;box-shadow:0 2px 8px #6a4aef59}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid var(--border)}.page-header h1{margin:0;font-size:21px;letter-spacing:-.01em}.page-sub{margin:3px 0 0;color:var(--text-dim);font-size:13.5px}.icon-btn{width:36px;height:36px;border-radius:9px;flex-shrink:0;background:transparent;border:1px solid transparent;color:var(--text-dim);display:grid;place-items:center;padding:0}.icon-btn:hover{background:var(--surface-2);border-color:var(--border);color:var(--text);filter:none}.avatar-btn{width:34px;height:34px;border-radius:50%;overflow:hidden;padding:0;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;flex-shrink:0;color:var(--text-dim)}.avatar-btn:hover{border-color:var(--border-strong);filter:none}.avatar-initials{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--accent)}.theme-admin .avatar-initials{color:var(--accent-hover)}.sm-only{display:none!important}.menu-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:70;min-width:200px;padding:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lift)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text);font-size:14px;text-align:left}.menu-item:hover{background:var(--surface-2);filter:none}.app-sidebar{width:236px;flex-shrink:0;padding:12px 10px;border-right:1px solid var(--border);background:var(--sidebar-bg);min-height:calc(100vh - var(--nav-h))}.org-head{display:flex;align-items:center;gap:8px;padding:2px 4px 10px;margin-bottom:10px;border-bottom:1px solid var(--border)}.org-avatar{width:22px;height:22px;border-radius:6px;flex-shrink:0;background:var(--accent-soft);color:var(--accent);font-size:11.5px;font-weight:700;display:grid;place-items:center}.org-head-name{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-head-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:1;min-width:0;width:auto;border:none;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%237e8aa0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding:2px 20px 2px 0;border-radius:6px;font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:none}.org-head-select:focus{outline:none;box-shadow:none;border:none}.nav-group-head{width:100%;background:transparent;border:none;text-align:left}.nav-group-head:hover{filter:none}.nav-chevron{display:flex;margin-left:2px;color:var(--text-dim);opacity:.7;transition:transform .14s ease}.nav-chevron.open{transform:rotate(180deg)}.nav-subnav{margin:1px 0 3px 17px;padding-left:9px;border-left:1px solid var(--border)}.nav-sublink{display:flex;align-items:center;gap:8px;padding:6px 9px;margin-bottom:1px;border-radius:7px;color:var(--text-dim);font-weight:500;font-size:13.5px;transition:background .12s ease,color .12s ease}.nav-sublink:hover{background:var(--surface-2);color:var(--text)}.nav-sublink.active{background:var(--accent-soft);color:var(--text);font-weight:600}.nav-sublink .nav-label{flex:1}.nav-divider{height:1px;background:var(--border);margin:12px 4px 4px}.nav-link{display:flex;align-items:center;gap:10px;padding:7px 10px;margin-bottom:1px;border-radius:8px;color:var(--text-dim);font-weight:500;font-size:13.5px;transition:background .12s ease,color .12s ease}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{color:var(--text);font-weight:600;background:var(--accent-soft)}.nav-link.active .nav-ico{color:var(--accent)}.nav-link .nav-ico{width:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.nav-link .nav-label{flex:1}.nav-pill{min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border-radius:999px;font-size:10.5px;font-weight:700}.nav-section{font-size:10.5px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:var(--text-dim);opacity:.75;padding:0 10px;margin:18px 0 5px}.app-sidebar>.nav-section:first-of-type{margin-top:8px}.sidebar-search{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;margin:0 0 8px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font-size:13px;text-align:left}.sidebar-search:hover{border-color:var(--border-strong);color:var(--text);filter:none}.sidebar-search svg{flex-shrink:0}.sidebar-search span{flex:1}.kbd{font-family:inherit;font-size:10.5px;font-weight:600;line-height:1;color:var(--text-dim);background:var(--surface-3);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:3px 5px}.sidebar-backdrop,.hamburger,.bottom-tabs{display:none}.app-main{flex:1;min-width:0}@media (max-width: 899px){.container{padding:16px 14px}h1{font-size:22px}.hamburger{display:grid}.navbar{padding:0 12px}.view-toggle,.admin-chip,.app-sidebar .kbd{display:none}.app-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;width:min(300px,84vw);min-height:100vh;padding-top:18px;transform:translate(-105%);transition:transform .22s ease;border-right:1px solid var(--border-strong);box-shadow:var(--shadow-lift);overflow-y:auto}.app-sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#0000008c;opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.bottom-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(var(--tabs-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border)}.hide-sm{display:none!important}.sm-only{display:grid!important}.panel.sm-only{grid-template-columns:minmax(0,1fr)}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-dim);font-size:10.5px;font-weight:600;background:transparent;border:none;padding:0}.tab-item .tab-ico{line-height:1;display:flex}.tab-item.active{color:var(--accent)}.tab-item:hover{filter:none}.app-main{padding-bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom) + 8px)}.table{display:block;overflow-x:auto;white-space:nowrap}.grid-2,.grid-3{grid-template-columns:1fr}}@media (min-width: 480px) and (max-width: 899px){.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
