:root{--ink: #181410;--ink-2: #211a14;--card: #2a221a;--card-2: #332a20;--line: rgba(237, 231, 219, .12);--line-2: rgba(237, 231, 219, .2);--paper: #ede7db;--dim: #a89e8e;--faint: #6f665a;--red: #ff2b35;--red-deep: #e30611;--red-soft: rgba(255, 43, 53, .14);--sage: #7fcaa3;--sage-soft: rgba(127, 202, 163, .14);--amber: #e6ad4d;--amber-soft: rgba(230, 173, 77, .14);--r: 18px;--font-display: "Unbounded", sans-serif;--font-body: "Manrope", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}html,body{overflow-x:clip}body{background:#0e0b08;color:var(--paper);font-family:var(--font-body);font-size:15px;line-height:1.5}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;color:var(--paper)}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--card-2);border-radius:6px;border:2px solid #0e0b08}::-webkit-scrollbar-track{background:transparent}.brand-line{font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:8px}.brand-line .dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);animation:pulse 2s infinite;flex:0 0 auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.chip{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;padding:4px 9px;border-radius:7px;background:var(--card-2);color:var(--dim);text-transform:uppercase;white-space:nowrap}.chip.hot{background:var(--red-soft);color:var(--red)}.chip.sage{background:var(--sage-soft);color:var(--sage)}.chip.amber{background:var(--amber-soft);color:var(--amber)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:14px;font-weight:700;font-size:14px;border:1px solid transparent;transition:transform .12s,box-shadow .15s,background .15s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn.solid{background:var(--red);color:#fff;box-shadow:0 8px 22px -8px #ff2b3599}.btn.solid:hover{box-shadow:0 10px 26px -8px #ff2b35cc}.btn.ghost{background:var(--card);color:var(--paper);border-color:var(--line)}.btn.ghost:hover{border-color:var(--line-2)}.btn.sm{padding:8px 13px;font-size:12.5px;border-radius:10px}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}.mono{font-family:var(--font-mono)}.toast-wrap{position:fixed;bottom:26px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;max-width:calc(100vw - 24px)}.toast{pointer-events:auto;display:flex;align-items:center;gap:9px;max-width:100%;background:var(--ink-2);border:1px solid var(--line-2);border-radius:12px;padding:11px 18px;font-size:13.5px;font-weight:600;overflow-wrap:anywhere;box-shadow:0 14px 40px #0000008c;animation:toast-in .25s cubic-bezier(.2,.85,.25,1)}.toast .toast-dot{width:8px;height:8px;border-radius:50%;background:var(--sage);box-shadow:0 0 8px var(--sage)}.toast.err .toast-dot{background:var(--red);box-shadow:0 0 8px var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.splash{min-height:100vh;display:flex;flex-direction:column;gap:30px;align-items:center;justify-content:center}.splash-spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--card-2);border-top-color:var(--red);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{width:18px;height:18px;border-radius:50%;display:inline-block;border:2.5px solid var(--card-2);border-top-color:var(--red);animation:spin 1s linear infinite;vertical-align:middle}.page-state{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 20px;color:var(--dim)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;background:radial-gradient(90% 60% at 50% -10%,rgba(255,43,53,.08) 0%,transparent 55%),radial-gradient(120% 80% at 50% -10%,#2a201700,#0e0b0800 60%),linear-gradient(180deg,#1d160f 0%,var(--ink) 35%,#0e0b08 100%)}.login-box{width:100%;max-width:430px;display:flex;flex-direction:column;gap:26px}.login-hero h1{font-family:var(--font-display);font-weight:800;line-height:1.02;font-size:clamp(34px,6vw,46px);margin:16px 0 12px;letter-spacing:-.02em}.login-hero h1 em{font-style:normal;color:var(--red);display:block}.login-hero p{color:var(--dim);margin:0;max-width:34ch;font-size:15px}.login-hero p b{color:var(--paper)}.login-form{display:flex;flex-direction:column;gap:14px}.login-form label{font-size:12px;color:var(--dim);font-weight:700;letter-spacing:.04em}.login-form input{width:100%;background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px 15px;font-size:15px;outline:none;margin-top:6px;transition:border-color .15s}.login-form input:focus{border-color:var(--red)}.login-err{background:var(--red-soft);border:1px solid rgba(255,43,53,.35);color:var(--red);border-radius:12px;padding:11px 14px;font-size:13px;font-weight:600}.login-btn{width:100%;padding:17px;border-radius:var(--r);background:var(--red);color:#fff;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 30px -8px #ff2b3580;transition:transform .15s,box-shadow .15s}.login-btn:hover{box-shadow:0 14px 34px -8px #ff2b35b3}.login-btn:active{transform:scale(.98)}.login-btn:disabled{opacity:.6;cursor:wait}.login-fine{text-align:center;font-size:12px;color:var(--faint)}.shell{display:flex;min-height:100vh}.side{width:264px;flex:0 0 264px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#161109,#12100c);border-right:1px solid var(--line);padding:22px 16px}.side-brand{padding:0 8px 20px;border-bottom:1px solid var(--line)}.side-title{font-family:var(--font-display);font-weight:800;font-size:19px;margin-top:14px;letter-spacing:-.01em}.side-title em{font-style:normal;color:var(--red)}.side-sub{font-size:11px;color:var(--faint);margin-top:4px}.side-nav{display:flex;flex-direction:column;gap:4px;padding:18px 0;flex:1}.side-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:var(--dim);font-weight:600;font-size:14px;border:1px solid transparent;transition:.15s}.side-link:hover{color:var(--paper);background:#ede7db0a}.side-link.active{color:var(--paper);background:var(--card);border-color:var(--line)}.side-link.active .side-ic{color:var(--red)}.side-ic{font-size:15px;width:22px;text-align:center;color:var(--faint)}.side-user{display:flex;align-items:center;gap:10px;padding:14px 8px 0;border-top:1px solid var(--line)}.side-ava{width:38px;height:38px;border-radius:12px;background:var(--card-2);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--red);flex:0 0 auto}.side-who{flex:1;min-width:0}.side-who b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-who span{display:block;font-size:11px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-exit{font-size:11.5px;color:var(--dim);font-weight:700;padding:7px 10px;border-radius:9px;border:1px solid var(--line);flex:0 0 auto}.side-exit:hover{color:var(--red);border-color:#ff2b3566}.main{flex:1;min-width:0;padding:34px 38px 60px}.topbar,.tabbar,.filters-toggle,.sheet-handle,.emp-cards{display:none}.page{max-width:1060px;margin:0 auto;animation:page-in .3s ease}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-head{margin-bottom:26px}.page-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}.page-title{font-family:var(--font-display);font-weight:600;font-size:27px;margin:6px 0 4px}.page-sub{color:var(--dim);font-size:14px;max-width:68ch}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:22px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:16px}.kpi .v{font-family:var(--font-display);font-weight:800;font-size:24px;line-height:1.05}.kpi .v.up{color:var(--sage)}.kpi .v.down{color:var(--red)}.kpi .k{font-size:12px;color:var(--dim);margin-top:6px;line-height:1.3}.kpi .d{font-size:10.5px;font-family:var(--font-mono);margin-top:5px;color:var(--faint)}.kpi .d.g{color:var(--sage)}.kpi .d.r{color:var(--red)}.bars{margin-top:6px}.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:9px;font-size:12.5px}.bar-row .nm{width:130px;color:var(--dim);flex:0 0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{flex:1;height:9px;background:var(--ink);border-radius:5px;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:5px;width:0;background:linear-gradient(90deg,var(--red-deep),var(--red));transition:width .8s ease}.bar-track i.sage{background:linear-gradient(90deg,#4c8f6e,var(--sage))}.bar-row .val{font-family:var(--font-mono);color:var(--paper);width:52px;text-align:right;flex:0 0 auto}.read{background:var(--card);border-left:3px solid var(--red);border-radius:0 12px 12px 0;padding:15px 17px}.read.amber{border-left-color:var(--amber)}.read.sage{border-left-color:var(--sage)}.read .lab{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--faint);text-transform:uppercase;margin-bottom:8px}.read p{margin:0 0 9px;font-size:13.5px;line-height:1.62;color:var(--dim)}.read p:last-child{margin:0}.read p b,.read b{color:var(--paper)}.read ul{margin:0;padding-left:18px}.read li{font-size:13.5px;color:var(--dim);line-height:1.6;margin-bottom:3px}.course{max-width:760px;margin:0 auto}.course-progress{display:flex;align-items:center;gap:14px;margin:22px 0 26px}.course-progress .track{flex:1;height:5px;border-radius:3px;background:var(--card);overflow:hidden}.course-progress .track i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--red-deep),var(--red));transition:width .5s cubic-bezier(.2,.8,.2,1)}.course-progress .cnt{font-family:var(--font-mono);font-size:12px;color:var(--dim)}.course-dots{display:flex;gap:8px;justify-content:center;margin-bottom:22px}.course-dots button{width:11px;height:11px;border-radius:50%;background:var(--card-2);transition:.2s;padding:0}.course-dots button.cur{background:var(--red);box-shadow:0 0 10px #ff2b3599}.course-dots button.done{background:var(--sage)}.course-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:40px 44px;text-align:center}.course-emoji{font-size:54px;line-height:1;margin-bottom:18px}.course-card h2{font-family:var(--font-display);font-weight:600;font-size:25px;margin:0 0 14px}.course-card .lead{color:var(--dim);font-size:15.5px;line-height:1.65;max-width:54ch;margin:0 auto 18px}.course-quote{background:var(--ink);border:1px dashed var(--line-2);border-radius:14px;padding:17px 20px;font-size:14px;line-height:1.65;color:var(--paper);font-style:italic;max-width:56ch;margin:0 auto;text-align:left}.course-points{list-style:none;margin:0 auto;padding:0;max-width:52ch;text-align:left;display:flex;flex-direction:column;gap:10px}.course-points li{background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:14px;display:flex;gap:10px;align-items:baseline}.course-points li:before{content:"→";color:var(--red);font-weight:700;flex:0 0 auto}.course-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.dash-hello{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}.dash-hello h1{font-family:var(--font-display);font-weight:600;font-size:28px;margin:6px 0 4px}.legend-card{position:relative;overflow:hidden;margin-bottom:22px}.legend-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red)}.legend-card h3{font-family:var(--font-display);font-weight:600;font-size:17px;margin:0 0 10px}.legend-card p{color:var(--dim);margin:0 0 10px;line-height:1.65;font-size:14.5px}.legend-card p b{color:var(--paper)}.legend-actors{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.actor{display:flex;align-items:center;gap:10px;background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.actor .e{font-size:22px}.actor-ava{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--line-2);flex:0 0 auto;display:block}.actor b{display:block;font-size:13px}.actor span{font-size:11.5px;color:var(--dim)}.dash-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}.mprog-step{display:flex;align-items:center;gap:13px;padding:12px 10px;border-bottom:1px solid var(--line);border-radius:12px;cursor:pointer;transition:background .15s,border-color .15s}.mprog-step:hover{background:var(--ink)}.mprog-step:last-child{border-bottom:none}.mprog-ic{width:34px;height:34px;border-radius:11px;flex:0 0 auto;background:var(--ink);border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--faint)}.mprog-step.done .mprog-ic{border-color:var(--sage);background:var(--sage-soft);color:var(--sage)}.mprog-step.cur .mprog-ic{border-color:var(--amber);color:var(--amber);box-shadow:0 0 0 4px #e6ad4d1f}.mprog-tx{flex:1}.mprog-tx b{font-size:14px}.mprog-tx span{display:block;font-size:12px;color:var(--dim)}.mission{background:var(--card);border:1px solid var(--line);border-radius:20px;margin-bottom:18px;overflow:hidden;position:relative}.mission.open-m{border-color:var(--line-2)}.mission.locked{opacity:.55}.mission.flash{animation:mission-flash 1.5s ease}@keyframes mission-flash{0%{border-color:var(--amber);box-shadow:0 0 0 3px #e6ad4d38;background:#e6ad4d0f}to{border-color:var(--line-2);box-shadow:none;background:var(--card)}}.mission-head{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;-webkit-user-select:none;user-select:none}.mission-num{font-family:var(--font-display);font-weight:800;font-size:19px;color:var(--red);width:46px;height:46px;border-radius:14px;background:var(--ink);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.mission.locked .mission-num{color:var(--faint)}.mission-head .mh-tx{flex:1;min-width:0}.mission-head h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:16.5px}.mission-head .mh-meta{display:flex;gap:10px;align-items:center;margin-top:5px;flex-wrap:wrap}.mh-sender{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--dim)}.mh-sender .e{font-size:15px}.mh-time{font-family:var(--font-mono);font-size:11px;color:var(--faint)}.mh-toggle{color:var(--faint);font-size:18px;transition:transform .2s;flex:0 0 auto}.mission.expanded .mh-toggle{transform:rotate(180deg)}.mission-body{border-top:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:16px}.lock-note{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dim);font-family:var(--font-mono)}.msg{display:flex;gap:12px;background:var(--ink);border:1px solid var(--line);border-radius:14px;padding:15px}.msg-ava{width:44px;height:44px;border-radius:13px;background:var(--card-2);border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 auto}.msg-ava.photo{border-radius:50%;overflow:hidden;padding:0}.msg-ava.photo img{width:100%;height:100%;object-fit:cover;display:block}.msg-tx{flex:1;min-width:0}.msg-who{display:flex;align-items:baseline;gap:8px;margin-bottom:5px;flex-wrap:wrap}.msg-who b{font-size:13.5px}.msg-who span{font-size:11px;color:var(--faint);font-family:var(--font-mono)}.msg p{margin:0;font-size:14px;line-height:1.6;color:var(--paper)}.sec-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.q-card{background:var(--ink);border:1px solid var(--line);border-radius:13px;padding:14px 16px;margin-bottom:10px}.q-card .q-text{font-size:14px;line-height:1.55}.q-card .q-actions{display:flex;gap:8px;margin-top:11px}.notes-area textarea{width:100%;min-height:110px;resize:vertical;background:var(--ink);border:1px solid var(--line);border-radius:13px;padding:14px 15px;font-size:14px;line-height:1.6;outline:none}.notes-area textarea:focus{border-color:var(--red)}.notes-foot{display:flex;justify-content:space-between;align-items:center;margin-top:9px;gap:10px}.notes-saved{font-size:11.5px;color:var(--sage);font-family:var(--font-mono)}.mission-foot{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.mission-head{cursor:default}.task-card{background:var(--ink);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.task-card.done{border-color:#7fcaa359}.task-card .msg{background:var(--card)}.task-card .q-card{margin-bottom:0;background:var(--card)}.task-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-kind{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.task-kind .ic{vertical-align:-2px;margin-right:2px}.read .lab .ic{vertical-align:-2px}.task-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:15.5px}.hint-chips{display:flex;flex-wrap:wrap;gap:8px}.hint-chip{background:var(--sage-soft);color:var(--sage);border:1px solid rgba(127,202,163,.3);border-radius:999px;padding:7px 13px;font-size:12px;line-height:1.35;text-align:left;transition:.15s}.hint-chip:hover{border-color:var(--sage);transform:translateY(-1px)}.filters{display:none;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin:18px 0}.filters.open{display:grid}.filters .f-field{display:flex;flex-direction:column;gap:5px;min-width:0}.filters .f-field.wide{grid-column:span 2}.filters label{font-size:10.5px;color:var(--faint);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.filters input,.filters select{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 11px;font-size:13.5px;outline:none;width:100%}.filters input:focus,.filters select:focus{border-color:var(--red)}.filters select option{background:var(--ink-2)}.grade-range{display:flex;gap:6px}.tbl-wrap{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table.emp{width:100%;border-collapse:collapse;font-size:13px;min-width:980px}table.emp th{text-align:left;padding:12px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:var(--ink-2)}table.emp th:hover{color:var(--paper)}table.emp th .arr{color:var(--red);margin-left:4px}table.emp td{padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}table.emp tr:last-child td{border-bottom:none}table.emp tbody tr{cursor:pointer;transition:background .12s}table.emp tbody tr:hover{background:#ede7db09}.emp-id{font-family:var(--font-mono);font-size:12px;color:var(--dim)}.emp-name b{font-size:13.5px}.emp-name span{display:block;font-size:11px;color:var(--faint)}.perf-badge{font-family:var(--font-mono);font-weight:700;font-size:12px;padding:3px 9px;border-radius:7px;display:inline-block}.perf-badge.p45{background:var(--sage-soft);color:var(--sage)}.perf-badge.p3{background:var(--amber-soft);color:var(--amber)}.perf-badge.p12{background:var(--red-soft);color:var(--red)}.salary{font-family:var(--font-mono);font-size:12.5px}.load-cell{display:flex;align-items:center;gap:8px}.load-bar{width:54px;height:6px;background:var(--ink);border-radius:3px;overflow:hidden}.load-bar i{display:block;height:100%;background:var(--amber);border-radius:3px}.pager{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-top:1px solid var(--line);background:var(--ink-2)}.pager .pg-info{font-size:12px;color:var(--dim);font-family:var(--font-mono)}.pager .pg-btns{display:flex;gap:8px;align-items:center}.pg-num{font-family:var(--font-mono);font-size:12.5px;color:var(--dim)}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#08060499;z-index:90;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:var(--ink-2);border-left:1px solid var(--line-2);z-index:100;display:flex;flex-direction:column;animation:drawer-in .28s cubic-bezier(.2,.85,.25,1);box-shadow:-30px 0 60px #00000080}@keyframes drawer-in{0%{transform:translate(60px);opacity:0}to{transform:none;opacity:1}}.drawer-head{padding:22px 24px 16px;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}.drawer-ava{width:54px;height:54px;border-radius:15px;background:var(--card-2);border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:17px;color:var(--red);flex:0 0 auto}.drawer-head h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:17px;line-height:1.25}.drawer-head .dh-sub{font-size:12.5px;color:var(--dim);margin-top:4px}.drawer-close{margin-left:auto;width:34px;height:34px;border-radius:10px;border:1px solid var(--line);color:var(--dim);font-size:16px;flex:0 0 auto}.drawer-close:hover{color:var(--red);border-color:#ff2b3566}.drawer-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 24px 30px}.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}.dcell{background:var(--ink);border:1px solid var(--line);border-radius:11px;padding:10px 12px}.dcell .k{font-size:10px;font-family:var(--font-mono);color:var(--faint);text-transform:uppercase;letter-spacing:.08em}.dcell .v{font-size:13.5px;margin-top:3px;font-weight:600}.review-block{background:var(--card);border-left:3px solid var(--amber);border-radius:0 12px 12px 0;padding:15px 17px;margin-bottom:14px}.review-block p{margin:0;font-size:13.5px;line-height:1.65;color:var(--paper)}.mention{display:inline;padding:0 1px;border:none;border-radius:5px;background:none;font:inherit;color:var(--paper);text-decoration:underline dotted var(--red);text-underline-offset:3px;cursor:pointer}.mention:before{content:"";display:inline-block;width:12px;height:12px;margin-right:3px;vertical-align:-1.5px;background-color:var(--red);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4Zm0 2c-4.4 0-8 2.2-8 5v1h16v-1c0-2.8-3.6-5-8-5Z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4Zm0 2c-4.4 0-8 2.2-8 5v1h16v-1c0-2.8-3.6-5-8-5Z'/%3E%3C/svg%3E") center / contain no-repeat}.mention:hover{background:var(--ink-2)}.bubble.user .mention:hover{background:#0000002e}.chat-layout{display:grid;grid-template-columns:1fr 300px;gap:18px;height:calc(100vh - 140px);min-height:520px}.chat-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;overflow:hidden}.chat-head{padding:14px 18px;border-bottom:1px solid var(--line);background:var(--ink-2);display:flex;align-items:center;gap:11px}.chat-head .c-ava{width:36px;height:36px;border-radius:11px;background:var(--card-2);border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:17px}.chat-head b{font-size:14px;display:block}.chat-head span{font-size:11.5px;color:var(--dim)}.mode-badge{margin-left:auto;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--amber-soft);color:var(--amber);padding:4px 9px;border-radius:7px}.mode-badge.sage{background:var(--sage-soft);color:var(--sage)}.mode-badge.amber{background:var(--amber-soft);color:var(--amber)}.mode-badge.err{background:var(--red-soft);color:var(--red)}.chat-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 18px;display:flex;flex-direction:column;gap:14px}.bubble{max-width:85%;padding:13px 16px;border-radius:15px;font-size:14px;line-height:1.6;animation:page-in .25s ease}.bubble.user{align-self:flex-end;background:var(--red);color:#fff;border-bottom-right-radius:5px;box-shadow:0 8px 22px -10px #ff2b3580;white-space:pre-wrap;word-break:break-word}.bubble.user.fwd{background:var(--card-2);color:var(--paper);border:1px solid var(--line-2);box-shadow:none;white-space:normal}.bubble.user.fwd .fwd-head{color:var(--amber)}.bubble.user.fwd .bubble-time{color:var(--faint)}.bubble.bot{align-self:flex-start;background:var(--ink);border:1px solid var(--line);border-bottom-left-radius:5px;word-break:break-word}.sql-box{margin-top:10px;border-top:1px dashed var(--line);padding-top:8px;max-width:100%}.sql-box summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--sage)}.sql-box summary::-webkit-details-marker{display:none}.sql-box summary:before{content:"▸ "}.sql-box[open] summary:before{content:"▾ "}.sql-code{margin:8px 0 2px;padding:10px 12px;max-width:100%;background:#100c08;border:1px solid var(--line);border-radius:10px;font-family:var(--font-mono);font-size:11.5px;line-height:1.55;color:var(--paper);white-space:pre;overflow-x:auto;-webkit-overflow-scrolling:touch}.typing{display:inline-flex;gap:5px;padding:15px 18px;background:var(--ink);border:1px solid var(--line);border-radius:15px 15px 15px 5px;align-self:flex-start}.typing i{width:7px;height:7px;border-radius:50%;background:var(--dim);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.typing-row{display:flex;align-items:center;gap:10px;align-self:flex-start;max-width:100%}.typing-info{display:flex;flex-direction:column;gap:2px;font-size:12.5px;color:var(--dim)}.typing-hint{font-size:11.5px;color:var(--amber, #c98a2d);opacity:.9}.typing-cancel{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:var(--ink);color:var(--dim);font-size:12px;line-height:1;cursor:pointer;flex:none;display:inline-flex;align-items:center;justify-content:center}.typing-cancel:hover{color:var(--red);border-color:var(--red)}.meta-line{margin-top:8px;font-size:11px;color:var(--dim);opacity:.8}.chat-input{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line);background:var(--ink-2)}.chat-input textarea{flex:1;background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;outline:none;resize:none;min-height:48px;max-height:140px}.chat-input textarea:focus{border-color:var(--red)}.chat-send{align-self:flex-end;width:48px;height:48px;border-radius:13px;background:var(--red);color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -8px #ff2b3599}.chat-send:disabled{opacity:.5}.chat-side{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:2px}.chat-side .sec-label{margin:0 2px 2px}.quick-q{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px;transition:.15s}.quick-q:hover{border-color:var(--line-2);transform:translateY(-1px)}.quick-q .qq-m{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:4px}.quick-q .qq-t{font-size:12.5px;color:var(--dim);line-height:1.45}.chat-chips{display:none}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 10px}.md h1,.md h2,.md h3,.md h4{font-family:var(--font-display);font-weight:600;line-height:1.25;margin:14px 0 8px}.md h1{font-size:17px}.md h2{font-size:16px}.md h3{font-size:14.5px}.md h4{font-size:13.5px}.md ul,.md ol{margin:0 0 10px;padding-left:20px}.md li{margin-bottom:4px}.md li>ul,.md li>ol{margin:4px 0 0}.md blockquote{margin:8px 0 10px;padding:8px 12px;border-left:3px solid var(--red);border-radius:0 10px 10px 0;background:#ede7db0a;color:var(--dim)}.md blockquote p{margin:0}.md hr{border:none;border-top:1px solid var(--line);margin:12px 0}.md a{color:var(--red);text-decoration:underline;overflow-wrap:anywhere}.md code{font-family:var(--font-mono);font-size:.88em;background:#100c08;border:1px solid var(--line);border-radius:6px;padding:1px 6px;overflow-wrap:anywhere}.md pre{margin:8px 0 10px;padding:11px 13px;max-width:100%;background:#100c08;border:1px solid var(--line);border-radius:10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.md pre code{background:none;border:none;padding:0;font-size:11.5px;line-height:1.55;overflow-wrap:normal}.md-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:8px 0 10px;border:1px solid var(--line);border-radius:10px;background:#100c08}.md table{border-collapse:collapse;font-size:13px}.md th,.md td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top;white-space:nowrap}.md th{background:#332a20;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--paper)}.md tbody tr:nth-child(2n){background:#ede7db08}.md td.n{font-family:var(--font-mono);font-size:12px}.pres-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:start}.pres-hero{text-align:center;padding:34px 28px}.pres-hero .big-ic{font-size:52px;margin-bottom:14px}.pres-hero h3{font-family:var(--font-display);font-weight:600;font-size:20px;margin:0 0 8px}.pres-hero p{color:var(--dim);font-size:14px;max-width:44ch;margin:0 auto 22px;line-height:1.6}.pres-gen{min-width:260px}.check-list{display:flex;flex-direction:column;gap:9px}.check-item{display:flex;gap:12px;align-items:flex-start;background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.check-item .ci-n{font-family:var(--font-mono);font-weight:700;font-size:12px;color:var(--red);width:24px;height:24px;border-radius:8px;background:var(--red-soft);display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px}.check-item b{font-size:13.5px;display:block}.check-item span{font-size:12px;color:var(--dim);line-height:1.45}@media (max-width: 1080px){.dash-grid,.pres-grid{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr;height:auto;min-height:0}.chat-panel{height:60vh}.filters{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 768px){:root{--topbar-h: 56px;--tabbar-h: 62px}.shell{flex-direction:column;min-height:100dvh}.side{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;height:var(--topbar-h);padding:0 14px;position:sticky;top:0;z-index:60;background:#0e0b08eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.topbar-brand{display:flex;align-items:center;gap:8px;min-width:0}.topbar-brand .dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);flex:0 0 auto;animation:pulse 2s infinite}.topbar-title{font-family:var(--font-display);font-weight:800;font-size:15px;white-space:nowrap}.topbar-title em{font-style:normal;color:var(--red)}.topbar-user{display:flex;align-items:center;gap:8px;flex:0 0 auto}.topbar .side-ava{width:34px;height:34px;border-radius:10px;font-size:12px}.topbar .side-exit{min-height:36px;display:inline-flex;align-items:center}.main{padding:18px 14px calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 26px)}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#12100cf5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line-2)}.tab-link{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--faint);font-size:10.5px;font-weight:700;min-height:48px;padding:6px 2px;border-radius:0}.tab-link .tab-ic{font-size:17px;line-height:1}.tab-link.active{color:var(--paper)}.tab-link.active .tab-ic{color:var(--red);text-shadow:0 0 12px rgba(255,43,53,.6)}.toast-wrap{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 14px)}.btn{min-height:46px}.btn.sm{min-height:44px;padding:10px 14px}input,select,textarea{font-size:16px!important}.page-head{margin-bottom:18px}.page-title{font-size:23px}.kpis{grid-template-columns:repeat(2,1fr);gap:10px}.kpi{padding:13px}.kpi .v{font-size:21px}.login{padding:28px 20px}.login-hero h1{font-size:clamp(28px,9vw,44px)}.course-card{padding:24px 18px;border-radius:18px}.course-emoji{font-size:42px;margin-bottom:12px}.course-card h2{font-size:20px}.course-card .lead{font-size:14.5px}.course-dots{gap:2px}.course-dots button{width:30px;height:30px;background:transparent;position:relative}.course-dots button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:10px;height:10px;border-radius:50%;background:var(--card-2);transition:.2s}.course-dots button.cur:after{background:var(--red);box-shadow:0 0 10px #ff2b3599}.course-dots button.done:after{background:var(--sage)}.course-nav{margin-top:20px;margin-bottom:56px}.course-nav .btn{flex:1}.dash-hello h1{font-size:24px}.legend-actors .actor{flex:1 1 100%}.mission-head{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;padding:15px 16px}.mission-num{width:40px;height:40px;font-size:17px;border-radius:12px}.mission-head h3{font-size:15px}.mission-body{padding:16px 14px;gap:14px}.msg{padding:13px;gap:10px}.msg-ava{width:38px;height:38px;font-size:18px;border-radius:11px}.q-card .q-actions{flex-direction:column}.q-card .q-actions .btn{width:100%}.mission-body>.btn{width:100%}.task-card{padding:14px}.task-card>.btn{width:100%}.task-card .mission-foot{flex-direction:column}.task-card .mission-foot .btn{width:100%}.hint-chip{flex:1 1 100%}.notes-foot{flex-wrap:wrap}.notes-foot .btn{width:100%}.mission-foot{flex-direction:column}.mission-foot .btn{width:100%}.filters-toggle{display:flex;justify-content:space-between;width:100%;min-height:48px;margin:14px 0 0}.filters{display:none;grid-template-columns:1fr;margin:10px 0 16px}.filters.open{display:grid}.filters .f-field.wide{grid-column:auto}.filters input,.filters select{min-height:46px}.grade-range input{min-width:0}.tbl-scroll{display:none}.emp-cards{display:flex;flex-direction:column}.emp-card{display:flex;gap:10px;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:13px 14px;min-height:64px;border-bottom:1px solid var(--line)}.emp-card:active{background:#ede7db0a}.emp-card-main{min-width:0;display:flex;flex-direction:column;gap:2px}.emp-card-main b{font-size:14px}.emp-card-pos,.emp-card-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-card-pos{font-size:12px;color:var(--dim)}.emp-card-meta{font-size:10.5px;color:var(--faint)}.emp-card-side{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.emp-cards-state{padding:30px 16px;text-align:center;color:var(--dim)}.emp-cards-state.err{color:var(--red)}.pager{padding:10px 12px;flex-wrap:wrap;gap:8px}.pager .pg-info{font-size:11px}.drawer{top:auto;left:0;right:0;bottom:0;width:100%;max-height:90dvh;border-left:none;border-top:1px solid var(--line-2);border-radius:22px 22px 0 0;box-shadow:0 -24px 60px #0000008c;animation:sheet-in .3s cubic-bezier(.2,.85,.25,1);padding-bottom:env(safe-area-inset-bottom,0px)}@keyframes sheet-in{0%{transform:translateY(48px);opacity:0}to{transform:none;opacity:1}}.sheet-handle{display:block;width:42px;height:5px;border-radius:3px;background:var(--card-2);margin:10px auto 0;flex:0 0 auto}.drawer-head{padding:14px 18px 12px}.drawer-body{padding:14px 18px 26px}.drawer-close{width:44px;height:44px}.chat-page .page-head{display:none}.main.main-chat{padding:10px 10px calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 10px)}.chat-layout{display:flex;flex-direction:column;gap:0;height:calc(100dvh - var(--topbar-h) - var(--tabbar-h) - env(safe-area-inset-bottom,0px) - 20px);min-height:340px}.chat-panel{flex:1;min-height:0;height:auto;border-radius:16px}.chat-head{padding:11px 12px}.chat-scroll{padding:14px 12px}.bubble{max-width:92%;font-size:13.5px;padding:11px 13px}.chat-input{padding:10px;gap:8px}.chat-send{flex:0 0 auto}.chat-side{display:none}.chat-chips{display:flex;flex:0 0 auto;flex-direction:row;align-items:stretch;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;gap:8px;padding:8px 10px 4px;border-top:1px solid var(--line);scrollbar-width:none}.chat-chips::-webkit-scrollbar{display:none}.chat-chips .sec-label{display:none}.chat-chips .quick-q{flex:0 0 auto;width:210px;min-height:54px;padding:9px 11px}.mode-badge{font-size:9px;padding:3px 7px;white-space:nowrap}.pres-hero{padding:26px 18px}.pres-hero .btn{width:100%;min-width:0}}.settings-status{border:1px solid var(--line);border-left:3px solid var(--faint);border-radius:13px;background:var(--ink-2);padding:14px 18px;margin-bottom:18px;display:flex;flex-direction:column;gap:8px}.settings-status.sage{border-left-color:var(--sage)}.settings-status.amber{border-left-color:var(--amber)}.settings-status.err{border-left-color:var(--red)}.ss-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.ss-row .ss-lab{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);min-width:210px}.ss-row b{font-size:14px}.settings-status.sage .ss-row b{color:var(--sage)}.settings-status.amber .ss-row b{color:var(--amber)}.settings-status.err .ss-row b{color:var(--red)}.settings-card{display:flex;flex-direction:column;gap:18px;max-width:720px}.sf-row{display:flex;flex-direction:column;gap:7px}.sf-lab{font-weight:700;font-size:13.5px}.sf-row input[type=text],.sf-row input[type=password],.sf-row input[type=number],.sf-row select{background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;width:100%;outline:none;transition:border-color .15s}.sf-row input:focus,.sf-row select:focus{border-color:var(--red)}.sf-row select option{background:var(--ink-2)}.sf-row input[type=range]{accent-color:var(--red);width:100%;max-width:380px}.sf-model{display:flex;gap:10px;align-items:center}.sf-model input{flex:1;min-width:0}.sf-model .btn{flex:0 0 auto}.sf-hint{color:var(--faint);font-size:12px;line-height:1.45}.sf-link{color:var(--red);font-size:12px;font-weight:700;text-decoration:underline;padding:0}.settings-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:4px}.prompt-card{max-width:900px;gap:12px}.prompt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.prompt-title{font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.prompt-badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--amber);border:1px solid var(--amber);border-radius:999px;padding:2px 9px;text-transform:uppercase}.prompt-desc{color:var(--faint);font-size:12.5px;line-height:1.5}.prompt-area{background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;resize:vertical;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;outline:none;transition:border-color .15s;white-space:pre-wrap;overflow-wrap:anywhere}.prompt-area:focus{border-color:var(--red)}.prompt-card,.prompt-head,.prompt-title,.card,.kpi,.mission,.task-card,.read,.q-card,.msg,.filters,.tbl-wrap,.dcell,.check-item,.actor,.settings-card,.settings-status{min-width:0;max-width:100%}.bubble,.typing{min-width:0}.msg p,.q-card .q-text,.read p,.read li,.legend-card p,.dcell .v,.review-block p,.ss-row b,.check-item span,.course-points li,.course-quote,.page-sub,.emp-card-main,.mprog-tx span,.task-title,.mission-head h3,.bubble{overflow-wrap:anywhere}.bubble.user{word-break:break-word}.chat-head>div:not(.c-ava){min-width:0}.chat-head b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-head span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.mode-badge{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 400px){.main{padding-left:12px;padding-right:12px}.main.main-chat{padding-left:10px;padding-right:10px}.page-title{font-size:21px}.kpi .v{font-size:19px}.login-hero h1{font-size:28px}.tab-link{font-size:10px}.tab-link .tab-ic{font-size:16px}.sf-model{flex-direction:column;align-items:stretch}.settings-actions .btn{flex:1 1 100%}.ss-row .ss-lab{min-width:0}.chip{font-size:9px}.mprog-tx span{font-size:11px}.mission-head h3{font-size:14px}}@media (max-width: 380px){.tab-link{font-size:9px;gap:2px;padding:6px 1px}.tab-link .tab-ic{font-size:15px}}.tabs-bar{display:flex;gap:8px;margin-bottom:20px}.tab-chip{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--dim);font-weight:700;font-size:13.5px;transition:.15s;white-space:nowrap}.tab-chip:hover{border-color:var(--line-2);color:var(--paper)}.tab-chip.active{background:var(--red-soft);border-color:#ff2b3566;color:var(--red)}.tab-chip-ic{font-size:14px}.tab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.tab-toolbar-btns{display:flex;gap:8px;flex-wrap:wrap}.u-actions{display:flex;gap:4px;flex-wrap:nowrap}.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--ink);font-size:14px;display:inline-flex;align-items:center;justify-content:center;transition:.15s;flex:0 0 auto}.icon-btn:hover{border-color:var(--line-2);transform:translateY(-1px)}.icon-btn.danger:hover{border-color:#ff2b3580;background:var(--red-soft)}.err-count{color:var(--red);font-weight:700}table.users-tbl{min-width:940px}table.users-tbl tbody tr{cursor:default}.users-cards{display:none}.user-card{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.uc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.uc-who{min-width:0}.uc-who b{display:block;font-size:15px;overflow-wrap:anywhere}.uc-email{display:block;font-size:12px;color:var(--faint);font-family:var(--font-mono);overflow-wrap:anywhere}.uc-stats{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;color:var(--dim)}.uc-stats b{color:var(--paper)}.uc-active{flex:1 1 100%;font-size:11.5px;color:var(--faint)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 60px);background:var(--ink-2);border:1px solid var(--line-2);border-radius:20px;z-index:100;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px #0009;animation:modal-in .25s cubic-bezier(.2,.85,.25,1)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 16px))}to{opacity:1;transform:translate(-50%,-50%)}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 14px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:17px}.modal-body{padding:18px 22px 22px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:16px}.pwd-row{display:flex;gap:8px;align-items:stretch}.pwd-row input{flex:1;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;outline:none}.pwd-row input:focus{border-color:var(--red)}.pwd-row .btn{flex:0 0 auto}.pwd-eye{flex:0 0 auto;width:46px;border-radius:10px;border:1px solid var(--line);background:var(--ink);font-size:16px}.pwd-eye:hover{border-color:var(--line-2)}.chat-clear{margin-left:auto;flex:0 0 auto;font-size:11px;font-weight:700;color:var(--dim);border:1px solid var(--line);border-radius:9px;padding:7px 11px;transition:.15s;white-space:nowrap}.chat-clear:hover{color:var(--red);border-color:#ff2b3566}.mode-badge+.chat-clear{margin-left:0}.chat-drawer{width:min(560px,100vw)}.chat-drawer-body{display:flex;flex-direction:column;gap:12px}.chat-drawer-body .bubble{max-width:92%}.bubble-time{margin-top:7px;font-size:10px;font-family:var(--font-mono);color:var(--faint);opacity:.8}.bubble.user .bubble-time{color:#ffffffbf}.mode-badge.inline{margin-left:0;margin-bottom:6px;display:inline-block}.log-filters{display:grid;grid-template-columns:1.2fr .7fr 1.4fr auto auto;gap:8px;margin-bottom:14px;align-items:center}.log-filters input,.log-filters select{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:13.5px;outline:none;width:100%;min-width:0}.log-filters input:focus,.log-filters select:focus{border-color:var(--red)}.log-filters select option{background:var(--ink-2)}table.logs-tbl{min-width:860px}table.logs-tbl tbody tr{cursor:default}.log-msg{white-space:normal!important;min-width:280px}.log-msg-text{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.log-ctx{margin-top:6px}.log-ctx summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.log-ctx summary::-webkit-details-marker{display:none}.log-ctx summary:before{content:"▸ "}.log-ctx[open] summary:before{content:"▾ "}.log-ctx-row{display:flex;gap:8px;margin-top:6px;font-size:11.5px;align-items:baseline}.log-ctx-row span{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);flex:0 0 auto}.log-ctx-row code{font-family:var(--font-mono);font-size:11px;color:var(--dim);overflow-wrap:anywhere;word-break:break-all}.logs-cards{display:none}.log-card{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.lc-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lc-email{font-family:var(--font-mono);font-size:11px;color:var(--dim);overflow-wrap:anywhere}.lc-time{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--faint)}@media (max-width: 768px){.tabs-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin-left:-2px;margin-right:-2px;scrollbar-width:none}.tabs-bar::-webkit-scrollbar{display:none}.tab-chip{flex:0 0 auto;min-height:44px}.users-table-wrap,.logs-table-wrap{display:none}.users-cards,.logs-cards{display:block}.icon-btn{width:44px;height:44px;font-size:16px}.tab-toolbar .btn{flex:1 1 auto}.tab-toolbar-btns{flex:1 1 100%;display:flex}.tab-toolbar-btns .btn{flex:1}.modal{top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-height:92dvh;border-radius:22px 22px 0 0;border-left:none;border-right:none;border-bottom:none;animation:sheet-in .3s cubic-bezier(.2,.85,.25,1);padding-bottom:env(safe-area-inset-bottom,0px)}.modal-head{padding:12px 18px}.modal-body{padding:14px 18px 20px}.pwd-row{flex-wrap:wrap}.pwd-row input{flex:1 1 100%}.pwd-row .btn{flex:1}.log-filters{grid-template-columns:1fr}.log-filters .btn{width:100%}.chat-drawer-body .bubble{max-width:96%}}.msgr-page{max-width:1240px}.msgr-layout{display:grid;grid-template-columns:320px 1fr;gap:18px;height:calc(100vh - 190px);min-height:480px}.msgr-list{background:var(--card);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;overflow:hidden}.msgr-list-head{padding:15px 18px 12px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);background:var(--ink-2)}.msgr-contact{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);transition:background .15s}.msgr-contact:hover{background:var(--ink-2)}.msgr-contact.active{background:var(--ink-2);box-shadow:inset 3px 0 0 var(--red)}.msgr-contact-ava{width:46px;height:46px;border-radius:50%;flex:0 0 auto}.msgr-contact-tx{flex:1;min-width:0}.msgr-contact-top{display:flex;align-items:baseline;gap:8px}.msgr-contact-top b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msgr-time{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--faint);flex:0 0 auto}.msgr-contact-sub{display:flex;align-items:center;gap:8px;margin-top:3px}.msgr-last{font-size:12px;color:var(--dim);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.unread-badge{flex:0 0 auto;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--red);color:#fff;font-family:var(--font-mono);font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px -4px #ff2b35b3}.side-badge{margin-left:auto}.tab-badge{position:absolute;top:-5px;right:-9px;min-width:16px;height:16px;font-size:9px;padding:0 4px}.tab-ic{position:relative}.topbar-mail{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--card-2);font-size:16px}.topbar-mail .unread-badge{position:absolute;top:-6px;right:-6px}.msgr-thread{background:var(--card);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;min-width:0}.msgr-thread-head .msg-ava{width:40px;height:40px;border-radius:50%}.msgr-back{width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--ink);color:var(--paper);font-size:16px;flex:0 0 auto;display:none;align-items:center;justify-content:center}.msgr-back:hover{border-color:var(--red);color:var(--red)}.msgr-scroll{min-height:0}.msgr-row{display:flex;align-items:flex-end;gap:8px;max-width:100%}.msgr-row.user{justify-content:flex-end}.msgr-mini-ava{width:28px;height:28px;border-radius:50%;flex:0 0 auto}.day-sep{display:flex;align-items:center;gap:12px;margin:4px 0;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.day-sep:before,.day-sep:after{content:"";flex:1;height:1px;background:var(--line)}.msgr-empty{text-align:center;color:var(--dim);font-size:13px;margin:auto;display:flex;flex-direction:column;gap:6px;max-width:46ch}.msgr-empty b{color:var(--paper)}.msgr-placeholder{background:var(--card);border:1px dashed var(--line);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--dim);font-size:13.5px;text-align:center;padding:24px}.msgr-placeholder b{color:var(--paper);font-size:15px}.msgr-placeholder span{max-width:44ch;line-height:1.5}.msg-open-chat{margin-top:9px;font-size:12px;font-weight:700;color:var(--red);padding:7px 12px;border-radius:9px;border:1px solid rgba(255,43,53,.35);background:var(--red-soft);transition:.15s;display:inline-flex;align-items:center;gap:6px}.msg-open-chat:hover{border-color:var(--red);transform:translateY(-1px)}.chat-drawer-tabs{display:flex;gap:6px;padding:10px 16px 0;border-bottom:1px solid var(--line);background:var(--ink-2)}.chat-drawer-tab{padding:9px 14px;font-size:12.5px;font-weight:700;color:var(--dim);border-bottom:2px solid transparent;margin-bottom:-1px}.chat-drawer-tab.active{color:var(--paper);border-bottom-color:var(--red)}.chat-drawer-tab:hover{color:var(--paper)}@media (max-width: 768px){.msgr-head{display:none}.msgr-layout{grid-template-columns:1fr;height:calc(100dvh - var(--topbar-h) - var(--tabbar-h) - env(safe-area-inset-bottom,0px) - 32px);min-height:0}.msgr-layout.open-thread .msgr-list{display:none}.msgr-layout:not(.open-thread) .msgr-thread,.msgr-layout:not(.open-thread) .msgr-placeholder{display:none}.msgr-back{display:inline-flex}.msgr-page{padding-bottom:0}}.msg-actions-side{position:relative;align-self:center;flex:0 0 auto}.msg-actions{display:flex;gap:4px;opacity:0;pointer-events:none;transition:opacity .15s}.msgr-row:hover .msg-actions,.msg-actions.open{opacity:1;pointer-events:auto}.msg-act{min-width:28px;height:28px;padding:0 6px;border-radius:8px;border:1px solid var(--line);background:var(--ink);color:var(--dim);font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;white-space:nowrap}.msg-act:hover{color:var(--paper);border-color:var(--line-2)}.msg-act.fav{color:var(--amber);border-color:#e6ad4d66}.msg-act .lbl{display:none;font-size:12px;font-weight:600}.msg-actions.open .msg-act .lbl{display:inline}.msg-menu-btn{display:none;width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--ink);color:var(--dim);font-size:15px;line-height:1;align-items:center;justify-content:center}.msgr-row.char .msg-actions-side{order:3}.msgr-row.char .bubble{order:2}.msgr-row.char .msgr-mini-ava{order:1}.fwd-head{font-size:11.5px;color:var(--dim);line-height:1.4;border-bottom:1px dashed var(--line);padding-bottom:5px;margin-bottom:7px}.bubble.user .fwd-head{color:#fffc;border-bottom-color:#ffffff4d}.fav-mark{float:right;margin:-3px -2px 2px 8px;font-size:11px}.chat-attach{align-self:flex-end;width:48px;height:48px;border-radius:13px;flex:0 0 auto;border:1px solid var(--line);background:var(--ink);color:var(--dim);font-size:17px;display:flex;align-items:center;justify-content:center;cursor:pointer}.chat-attach:hover{border-color:var(--red);color:var(--paper)}.chat-attach:disabled{opacity:.5;cursor:default}.task-widget{margin-top:9px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:9px 11px;background:var(--ink-2);max-width:100%;min-width:0}.bubble.user .task-widget{background:#ffffff24;border-color:#ffffff4d}.tw-check{width:24px;height:24px;border-radius:7px;flex:0 0 auto;cursor:pointer;border:1.5px solid var(--dim);background:transparent;color:#fff;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;transition:.15s}.tw-check:hover{border-color:var(--sage)}.tw-check.prog{border-color:var(--amber);color:var(--amber)}.tw-check.done{background:var(--sage);border-color:var(--sage);color:#12271c}.tw-check.sm{width:20px;height:20px;font-size:11px;cursor:default}.tw-check:disabled{opacity:.6;cursor:default}.tw-tx{flex:1;min-width:0}.tw-title{font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.task-widget.done .tw-title{text-decoration:line-through;opacity:.75}.tw-mission{font-size:11px;color:var(--dim);margin-top:2px}.bubble.user .tw-mission{color:#ffffffbf}.tw-open{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--red)}.bubble.user .tw-open{color:#fff;text-decoration:underline}.tw-open:hover{opacity:.8}.pick-modal{width:min(440px,calc(100vw - 32px))}.pick-list{gap:10px!important}.pick-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:var(--ink);color:var(--paper);cursor:pointer;transition:border-color .15s,background .15s}.pick-item:hover{border-color:var(--red);background:var(--card)}.pick-item-ava{width:44px;height:44px;border-radius:50%;flex:0 0 auto;object-fit:cover;border:1px solid var(--line-2)}.pick-item-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pick-item-tx b{font-size:14.5px}.pick-item-tx span{font-size:12px;color:var(--dim)}.pick-item-arrow{color:var(--faint);font-size:16px;flex:0 0 auto}.pick-list{gap:8px}.pick-item{width:100%;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--ink);padding:11px 13px;cursor:pointer}.pick-item:hover{border-color:var(--red);background:var(--ink-2)}.msgr-contact.pick-item{border-bottom:1px solid var(--line)}.pick-group{display:flex;flex-direction:column;gap:6px}.pick-task{display:flex;align-items:center;gap:10px}.pick-task-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.pick-task-tx b{font-size:13px;overflow-wrap:anywhere}.pick-task-tx span{font-size:11px;color:var(--dim)}.notes-list{display:flex;flex-direction:column;gap:14px}.note-card{padding:16px 18px;display:flex;flex-direction:column;gap:10px}.note-head{display:flex;align-items:baseline;gap:10px}.note-who{display:flex;align-items:baseline;gap:8px;min-width:0}.note-who b{font-size:13.5px}.note-thread{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:7px;padding:2px 7px;white-space:nowrap}.note-time{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--faint);flex:0 0 auto}.note-body{font-size:13.5px;line-height:1.6;overflow-wrap:anywhere;min-width:0}.note-body .task-widget{margin-top:10px}.note-foot{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:10px}.note-open{font-size:12.5px;font-weight:700;color:var(--red)}.note-open:hover{opacity:.8}.note-unstar{margin-left:auto;font-size:12px;font-weight:700;color:var(--amber);border:1px solid rgba(230,173,77,.4);border-radius:9px;background:var(--amber-soft);padding:6px 11px;cursor:pointer}.note-unstar:hover{border-color:var(--amber)}.note-unstar:disabled{opacity:.6}@media (max-width: 768px){.msg-actions{display:none}.msg-actions.open{display:flex;flex-direction:column;gap:2px;position:absolute;top:calc(100% + 4px);right:0;z-index:30;background:var(--card-2, var(--ink-2));border:1px solid var(--line-2);border-radius:12px;padding:5px;min-width:150px;box-shadow:0 14px 40px #00000080;opacity:1;pointer-events:auto}.msgr-row.user .msg-actions.open{right:0}.msgr-row.char .msg-actions.open{right:0;left:auto}.msgr-row.char .bubble{max-width:calc(100% - 84px)}.msgr-row.user .bubble{max-width:calc(100% - 44px)}.msg-actions.open .msg-act{border:none;background:transparent;justify-content:flex-start;padding:9px 10px;min-height:38px;font-size:13px;color:var(--paper)}.msg-actions.open .msg-act:hover{background:var(--ink-2)}.msg-menu-btn{display:inline-flex}.chat-attach{width:44px;height:44px}.note-head{flex-wrap:wrap}.note-time{margin-left:0;flex:1 1 100%;order:3}.note-foot{flex-wrap:wrap}.note-unstar{margin-left:0}.task-widget{flex-wrap:wrap}.tw-open{flex:1 1 100%}}@media (hover: none){.pick-item:hover{border-color:var(--line);background:var(--ink)}.pick-item:active{border-color:var(--red);background:var(--card)}.msg-act:hover{color:var(--dim);border-color:var(--line)}.msg-act:active{color:var(--paper);border-color:var(--line-2)}.chat-attach:hover{border-color:var(--line);color:var(--dim)}.chat-attach:active{border-color:var(--red);color:var(--paper)}.msgr-contact:hover{background:transparent}.msgr-contact:active{background:var(--ink-2)}.note-unstar:hover{border-color:#e6ad4d66}.note-unstar:active{border-color:var(--amber)}.tw-open:hover{background:transparent}}.ic{display:inline-block;vertical-align:middle;flex:0 0 auto}.side-ic,.tab-ic{display:inline-flex;align-items:center;justify-content:center;line-height:0}.tab-chip-ic{display:inline-flex;align-items:center;line-height:0}.mission-num .ic,.mprog-ic .ic,.icon-btn .ic,.chat-attach .ic,.msg-act .ic,.msg-menu-btn .ic,.drawer-ava .ic,.topbar-mail .ic,.course-emoji .ic,.page-state .ic,.msgr-placeholder .ic,.big-ic .ic{display:block}.course-emoji .ic,.page-state .ic,.msgr-placeholder .ic,.big-ic .ic{margin-left:auto;margin-right:auto}.pwd-eye{display:inline-flex;align-items:center;justify-content:center}.sql-box summary .ic{vertical-align:-2px;margin-right:5px}.mh-time .ic{vertical-align:-2px;margin-right:3px}.fwd-head .ic{vertical-align:-1px;margin-right:4px}.mode-badge .ic{vertical-align:-2px;margin-right:4px}.uc-stats .ic{vertical-align:-2px;margin-right:3px}.page-state span .ic,.page-state b .ic,.page-sub .ic{vertical-align:-2px}.note-unstar{display:inline-flex;align-items:center;gap:6px}.msgr-placeholder .ic{color:var(--faint)}.h-ic{vertical-align:-2px;margin-right:2px}.tab-ic{display:inline-flex;align-items:center;justify-content:center;line-height:0}.side-ic svg,.tab-ic svg{display:block}@media (max-width: 768px){.thread-mode .topbar,.thread-mode .tabbar{display:none!important}.thread-mode .main{padding:0!important}.thread-mode .msgr-page{max-width:none}.thread-mode .msgr-layout.open-thread{position:fixed;top:var(--vv-top, 0px);left:0;right:0;height:var(--vv-height, 100dvh);z-index:50;background:var(--ink)}.thread-mode .msgr-thread{border-radius:0;border-left:0;border-right:0;height:100%}.thread-mode .msgr-thread-head,.thread-mode .chat-input{flex:none}.thread-mode .chat-input{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.thread-mode .toast-wrap{bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}.name-badge{margin-left:2px}}.toast.msg{border-color:#ff2b3566}.toast.msg .toast-dot{background:var(--red);box-shadow:0 0 8px var(--red)}.toast.clickable{cursor:pointer}.toast.clickable:hover{border-color:var(--red)}.emp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.emp-count{flex:1;min-width:0}.emp-tools{display:flex;gap:6px}.tool-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--card);border:1px solid var(--line);color:var(--dim);cursor:pointer;transition:.15s}.tool-btn:hover{border-color:var(--line-2);color:var(--paper)}.tool-btn.active{background:var(--red-soft);border-color:#ff2b3566;color:var(--red)}.tool-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 6px var(--red)}.emp-cards-state{padding:30px 16px;text-align:center;color:var(--dim)}.emp-cards-state.err{color:var(--red)}.org{display:flex;flex-direction:column;gap:14px}.org-company{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}.org-company-head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--ink-2);border-bottom:1px solid var(--line)}.org-company-head b{font-size:15px;letter-spacing:.01em}.org-dot{width:10px;height:10px;border-radius:3px;flex:none}.org-dot.alpha{background:var(--red);box-shadow:0 0 9px #ff2b358c}.org-dot.beta{background:var(--sage);box-shadow:0 0 9px #7ec8a073}.org-count{font-family:var(--font-mono);font-size:12px;color:var(--dim)}.org-dept+.org-dept{border-top:1px solid var(--line)}.org-dept-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;text-align:left;color:var(--paper);font-size:14px;cursor:pointer;transition:background .15s}.org-dept-head:hover{background:#ede7db08}.org-dept-head b{flex:1;min-width:0}.org-chev{color:var(--faint);font-size:11px;transition:transform .15s}.org-chev.open{transform:rotate(90deg)}.org-units{border-top:1px solid var(--line)}.org-unit-grp{margin-left:22px;border-left:1px solid var(--line)}.org-unit-head{display:flex;align-items:center;gap:9px;width:100%;padding:10px 16px 10px 14px;background:none;border:none;text-align:left;color:var(--paper);font-size:13px;cursor:pointer;transition:background .15s}.org-unit-head:hover{background:#ede7db08}.org-unit-name{flex:1;min-width:0;font-weight:600;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-unit-head:hover .org-unit-name{color:var(--paper)}.org-rows{display:flex;flex-direction:column}.org-row{display:grid;grid-template-columns:62px minmax(170px,1.25fr) minmax(130px,1fr) 58px minmax(80px,.55fr) 46px 92px;align-items:center;gap:10px;width:100%;padding:9px 16px 9px 26px;background:none;border:none;border-top:1px solid var(--line);color:var(--paper);text-align:left;cursor:pointer;transition:background .12s}.org-row:hover{background:#ede7db08}.org-name{display:flex;flex-direction:column;min-width:0}.org-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-pos{font-size:12.5px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-grade,.org-loc{font-size:12.5px;color:var(--dim)}.org-meta{display:none;font-size:12px;color:var(--dim)}.pg-size{display:flex;gap:4px;margin-right:8px;padding-right:12px;border-right:1px solid var(--line)}.pg-size-btn{min-width:34px;padding:5px 8px;border-radius:8px;background:none;border:1px solid var(--line);color:var(--dim);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:.15s}.pg-size-btn:hover{border-color:var(--line-2);color:var(--paper)}.pg-size-btn.active{background:var(--red-soft);border-color:#ff2b3566;color:var(--red)}@media (max-width: 768px){.emp-toolbar{margin-top:2px}.tool-btn{width:40px;height:40px}.org-row{grid-template-columns:1fr auto;grid-template-areas:"name perf" "pos salary" "meta meta";gap:3px 10px;padding:11px 12px 11px 14px}.org-unit-grp{margin-left:10px}.org-unit-head{padding:10px 10px 10px 12px}.org-row .emp-id,.org-row .org-grade,.org-row .org-loc{display:none}.org-name{grid-area:name;flex-direction:row;align-items:baseline;gap:7px;flex-wrap:wrap}.org-name b{white-space:normal}.org-row .perf-badge{grid-area:perf;justify-self:end;align-self:start}.org-pos{grid-area:pos;white-space:normal}.org-row .salary{grid-area:salary;justify-self:end}.org-meta{grid-area:meta;display:block}.pg-size{border-right:none;padding-right:0;margin-right:0;flex-wrap:wrap}}.dh-main{min-width:0}.dh-tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.dh-tag{font-size:11px;padding:3px 8px;border:1px solid var(--line);border-radius:7px;color:var(--dim)}.marks-block{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:14px}.marks-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.marks-row{display:flex;gap:8px;flex-wrap:wrap}.mark-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9px;border:1px solid var(--line);color:var(--dim);font-weight:700;font-size:12px;transition:.15s}.mark-chip:disabled{opacity:.5;cursor:default}.mark-chip .m-dot{width:6px;height:6px;border-radius:50%;background:var(--faint);transition:.15s}.mark-chip.m-cut:hover{border-color:#ff2b3566;color:var(--red)}.mark-chip.m-cut.active{background:var(--red-soft);border-color:#ff2b3580;color:var(--red)}.mark-chip.m-develop:hover{border-color:#7fcaa366;color:var(--sage)}.mark-chip.m-develop.active{background:var(--sage-soft);border-color:#7fcaa380;color:var(--sage)}.mark-chip.m-key:hover{border-color:#e6ad4d66;color:var(--amber)}.mark-chip.m-key.active{background:var(--amber-soft);border-color:#e6ad4d80;color:var(--amber)}.mark-chip.m-retain:hover{border-color:var(--line-2);color:var(--paper)}.mark-chip.m-retain.active{background:#ede7db1a;border-color:var(--line-2);color:var(--paper)}.mark-chip.active .m-dot{background:currentColor;box-shadow:0 0 7px currentColor}.marks-hint{margin:-4px 0 10px;font-size:11.5px;color:var(--faint);line-height:1.45}.kmetrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.kmetric{background:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 13px}.kmetric .km-k{font-family:var(--font-mono);font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}.kmetric .km-v{font-size:20px;font-weight:800;margin-top:6px;line-height:1.15}.kmetric .km-v.km-salary{font-size:16.5px}.kmetric .km-sub{font-size:11.5px;color:var(--dim);margin-top:4px}.km-bar{margin-top:9px;height:5px;background:var(--card-2);border-radius:3px;overflow:hidden}.km-bar i{display:block;height:100%;background:var(--sage);border-radius:3px}.km-bar.amber i{background:var(--amber)}.perf-badge.big{font-size:15px;padding:4px 11px}.info-sec{margin-bottom:18px}.info-sec-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.info-row{display:flex;justify-content:space-between;gap:14px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:13.5px}.info-row:last-child{border-bottom:none}.info-row span{color:var(--dim);flex:none}.info-row b{text-align:right;font-weight:600;overflow-wrap:anywhere}.marks-sec{margin-bottom:6px}.marks-sec-sub{font-size:12.5px;color:var(--dim);margin:4px 0 14px}.marks-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.marks-group{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:5px;align-content:start}.mg-head{display:flex;align-items:center;gap:8px;font-size:13.5px;padding-bottom:9px;margin-bottom:3px;border-bottom:1px solid var(--line)}.mg-head b{flex:1;min-width:0}.mg-head .m-dot{width:8px;height:8px;border-radius:50%;flex:none}.marks-group.m-cut .m-dot{background:var(--red);box-shadow:0 0 7px #ff2b3580}.marks-group.m-develop .m-dot{background:var(--sage);box-shadow:0 0 7px #7fcaa373}.marks-group.m-key .m-dot{background:var(--amber);box-shadow:0 0 7px #e6ad4d73}.marks-group.m-retain .m-dot{background:var(--paper);box-shadow:0 0 7px #ede7db66}.mg-row{text-align:left;padding:8px 9px;border-radius:9px;display:flex;flex-direction:column;gap:1px;transition:background .12s}.mg-row:hover{background:#ede7db0a}.mg-row b{font-size:13px;overflow-wrap:anywhere}.mg-row span{font-size:11.5px;color:var(--dim);overflow-wrap:anywhere}.mg-empty{font-size:12px;color:var(--faint);padding:6px 2px}@media (max-width: 900px){.marks-groups{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.marks-groups{grid-template-columns:1fr}}
