:root{--panel: #ffffff;--border: #e3e7ee;--text: #1c2430;--muted: #6b7686;--primary: #2f80ed;--primary-soft: #e8f1fd;--success: #2fb344;--success-soft: #e7f6ec;--danger: #e5484d;--danger-soft: #fdecec;--warn: #d97706;--warn-soft: #fdf3e2;--wa: #128c7e;--link: #2067b0;--glass-dark: rgba(14, 20, 31, .55);--glass-border: rgba(255, 255, 255, .18);--on-bg: #f4f7fb;--on-bg-muted: rgba(240, 245, 252, .78);--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .08), 0 2px 8px rgba(16, 24, 40, .08);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:#1d2a3a}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:600}h1{font-size:26px;letter-spacing:-.2px}h2{font-size:16px}h3{font-size:14px}svg.lucide{flex-shrink:0}.scenery{background-color:#2b3a4d}.scenery:before,.scenery:after{content:"";position:fixed;z-index:-1;pointer-events:none}.scenery:before{top:-40px;right:-40px;bottom:-40px;left:-40px;background-image:var(--photo, none),linear-gradient(180deg,#2c3e57,#5b6f8c 45%,#a9b4c2 75%,#6d7b6a);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;filter:blur(14px) saturate(.85);transform:translateZ(0)}.scenery:after{top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#080e1880,#080e1857 45%,#080e188c)}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}.card *,.modal *{scrollbar-color:rgba(15,30,50,.22) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff42;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#ffffff73}.card ::-webkit-scrollbar-thumb,.modal ::-webkit-scrollbar-thumb{background-color:#0f1e3233}.app{display:flex;min-height:100vh}.sidebar{width:236px;background:var(--glass-dark);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#dfe6ef;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;border-right:1px solid rgba(255,255,255,.06)}.sidebar .brand{padding:16px 18px 10px;font-weight:700;font-size:18px;color:#fff;display:flex;align-items:center;gap:10px;letter-spacing:.3px}.logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#2fb344,#2f80ed);display:inline-flex;align-items:center;justify-content:center;color:#fff}.sidebar nav{flex:1;overflow-y:auto;padding:4px 10px}.sidebar .group{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#dfe6ef8c;margin:16px 10px 6px}.sidebar a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:#e3e9f1;margin-bottom:2px;font-size:14px}.sidebar a:hover{background:#ffffff14;text-decoration:none}.sidebar a.active{background:#ffffff2e;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}.sidebar a .count{margin-left:auto;background:#ff5752;color:#fff;border-radius:10px;font-size:11px;font-weight:600;padding:0 7px;line-height:18px}.sidebar .user{border-top:1px solid rgba(255,255,255,.08);padding:12px 14px;font-size:13px;display:flex;gap:10px;align-items:center}.sidebar .user .role{color:#dfe6efa6;font-size:12px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:60px;display:flex;align-items:center;padding:0 20px;gap:10px;position:sticky;top:0;z-index:30;background:#0e141f47;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);color:var(--on-bg)}.topbar .spacer{flex:1}.top-tabs{display:flex;gap:4px;overflow-x:auto;padding-top:6px}.top-tabs a{color:var(--on-bg);padding:7px 12px;border-radius:9px;font-size:15px;white-space:nowrap;position:relative;display:flex;align-items:center;gap:6px}.top-tabs a:hover{background:#ffffff1a;text-decoration:none}.top-tabs a.active{background:#ffffff38}.bubble-n{position:absolute;top:-6px;right:-4px;background:#ff5752;color:#fff;font-size:10px;font-weight:700;border-radius:9px;padding:0 5px;line-height:16px}.top-search{position:relative}.top-search input{width:220px;background:#ffffff24;border:1px solid rgba(255,255,255,.18);color:#fff;padding-left:32px;border-radius:10px}.top-search input::placeholder{color:#ffffffb3}.top-search svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);opacity:.8;color:#fff}.pill-btn{background:#ffffff24;border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:18px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;position:relative}.pill-btn:hover{background:#ffffff38}.pill-btn.clock{background:#ff5752;border-color:#ff5752;font-weight:600}.pill-btn.round{padding:6px;border-radius:50%}.menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border-radius:12px;box-shadow:0 12px 32px #00000040;min-width:240px;padding:6px;z-index:50}.menu button,.menu a{display:flex;width:100%;gap:10px;align-items:center;padding:8px 10px;border:none;background:none;font:inherit;color:inherit;border-radius:8px;cursor:pointer;text-align:left}.menu button:hover,.menu a:hover{background:#f2f5f9;text-decoration:none}.menu .sep{height:1px;background:var(--border);margin:6px 4px}.menu .hdr{padding:6px 10px;font-size:12px;color:var(--muted)}.theme-dots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:2px 10px 8px}.theme-dots button{height:44px;border-radius:8px;border:2px solid transparent;padding:0;cursor:pointer;background-size:cover;background-position:center;background-color:#dfe5ec}.theme-dots button.active{border-color:var(--primary)}.theme-dots .upload{display:flex;align-items:center;justify-content:center;color:#556070;font-size:11px;gap:4px;flex-direction:column}.content{padding:20px 22px 28px;flex:1;min-width:0;color:var(--on-bg);--muted: var(--on-bg-muted);--link: #cfe4ff}.card,.modal,.kcard,.inbox,.menu,.toast.reminder,.login,.info-box,.warn-box,.error-box{color:var(--text);--muted: #6b7686;--link: #2067b0}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.page-head h1{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.25)}.page-head .spacer{flex:1}.reminder-strip{background:#ffecb3f0;border-bottom:1px solid #f3dfa6;padding:7px 20px;display:flex;gap:8px;overflow-x:auto;align-items:center}.reminder-strip .label{font-weight:600;color:#8a5a00;white-space:nowrap;font-size:13px;display:flex;gap:6px;align-items:center}.reminder-chip{background:#fff;border:1px solid #f0d58a;border-radius:18px;padding:5px 12px;font:inherit;font-size:13px;display:flex;gap:8px;align-items:center;max-width:440px;white-space:nowrap;color:#4a3b10;cursor:pointer}.reminder-chip.due{border-color:#f59e0b;background:#fff3d6}.reminder-chip.alert{border-color:#f2b8b8;background:#fdecec;color:#b42318;font-weight:600}.reminder-chip .txt{overflow:hidden;text-overflow:ellipsis}.card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:16px}.card-head{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-head .spacer{flex:1}.card-body{padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:7px 13px;font:inherit;font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover{background:#f3f5f8;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:#1f6fd9}.btn.success,.btn.create{background:var(--success);border-color:var(--success);color:#fff;font-weight:600}.btn.success:hover,.btn.create:hover{background:#26a03a}.btn.danger{background:#fff;border-color:#f2b8b8;color:var(--danger)}.btn.wa{background:var(--wa);border-color:var(--wa);color:#fff}.btn.glass{background:#ffffff29;border-color:#ffffff38;color:#fff}.btn.glass:hover{background:#ffffff42}.btn.sm{padding:4px 9px;font-size:13px;border-radius:8px}.btn.link{border:none;background:none;color:var(--link);padding:0}input,select,textarea{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:9px;padding:7px 10px;background:#fff;width:100%}input:focus,select:focus,textarea:focus{outline:3px solid rgba(47,128,237,.18);border-color:var(--primary)}textarea{resize:vertical;min-height:70px}input[type=checkbox]{width:auto;accent-color:var(--primary)}label.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}label.field>span{font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.form-grid .full{grid-column:1 / -1}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;padding:8px;border-radius:12px;background:#ffffff1f;border:1px solid var(--glass-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.card .filters{background:none;border:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.filters input:not([type=checkbox]),.filters select{width:auto;min-width:150px;border-color:transparent}.filters label.row{color:var(--on-bg);font-size:13px}.card .filters label.row{color:var(--text)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500;background:#eef1f5;color:#3b4555;white-space:nowrap}.badge.blue{background:var(--primary-soft);color:#1550a8}.badge.green{background:var(--success-soft);color:#11743a}.badge.red{background:var(--danger-soft);color:#b42318}.badge.amber{background:var(--warn-soft);color:#9a5b00}.badge.purple{background:#f1e9fd;color:#6b21a8}.badge.wa{background:#e3f5f2;color:#0b6b60}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.avatar{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;flex-shrink:0;letter-spacing:.3px}.avatar.lg{width:36px;height:36px;font-size:13px}.person{display:inline-flex;align-items:center;gap:6px;color:var(--link);max-width:100%}.muted{color:var(--muted)}.small{font-size:12px}.bold{font-weight:600}.right{text-align:right}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{padding:32px;text-align:center;color:var(--muted)}.error-box{background:var(--danger-soft);color:#b42318;padding:10px 12px;border-radius:10px}.info-box{background:#e8f1fdf5;color:#1550a8;padding:10px 12px;border-radius:10px;font-size:13px}.warn-box{background:#fdf3e2f7;color:#8a5300;padding:10px 12px;border-radius:10px;font-size:13px}.hint{color:var(--on-bg-muted);font-size:12px;margin-top:8px}table.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-weight:600;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;padding:10px 12px;border-bottom:1px solid var(--border);background:#fafbfc;white-space:nowrap}.table td{padding:10px 12px;border-bottom:1px solid #eef1f5;vertical-align:middle}.table th.right,.table td.right{text-align:right}.table th.center,.table td.center{text-align:center}.table th.right .th-in{justify-content:flex-end}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table tr.click{cursor:pointer}.table tr.click:hover td{background:#f6f9fd}.table-wrap{overflow-x:auto}.card>.table:first-child th:first-child,.card>.table-wrap:first-child{border-top-left-radius:var(--radius)}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tabs button{border:1px solid transparent;background:#ffffff1f;padding:8px 14px;font:inherit;color:var(--on-bg);cursor:pointer;border-radius:10px;display:inline-flex;align-items:center;gap:6px}.tabs button:hover{background:#fff3}.tabs button.active{background:#fffffff2;color:var(--text);font-weight:600}.card .tabs{gap:2px;border-bottom:1px solid var(--border)}.card .tabs button{background:none;border-radius:0;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 14px}.card .tabs button.active{color:var(--primary);border-bottom-color:var(--primary);background:none}.seg{display:inline-flex;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--border)}.seg button{border:none;background:transparent;padding:7px 13px;font:inherit;cursor:pointer;color:#556070;display:inline-flex;gap:6px;align-items:center}.seg button.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.page-head .seg{background:#ffffff29;border-color:#fff3}.page-head .seg button{color:var(--on-bg)}.page-head .seg button.active{background:#ffffffeb;color:var(--text)}.counter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:18px;background:#ffffff24;color:var(--on-bg);font-size:13px;border:1px solid rgba(255,255,255,.16);cursor:pointer;font-family:inherit}.counter-chip:hover{background:#ffffff38}.counter-chip.active{background:#ffffffe6;color:var(--text)}.counter-chip b{background:#2fb344;color:#fff;border-radius:10px;padding:0 7px;font-size:11px;line-height:17px}.counter-chip.red b{background:#ff5752}.counter-chip.gray b{background:#8a94a3}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;margin-bottom:16px}.kpi{padding:14px 16px;position:relative;overflow:hidden}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-size:24px;font-weight:700;margin-top:4px}.kpi .sub{font-size:12px;color:var(--muted);margin-top:2px}.kpi .ico{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media (max-width: 1100px){.grid-2,.grid-3{grid-template-columns:1fr}}.section-title{color:#fff;font-size:15px;font-weight:600;margin:4px 0 10px;text-shadow:0 1px 6px rgba(0,0,0,.25)}.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;align-items:flex-start;overscroll-behavior-x:contain}.kcol{flex:1 0 250px;min-width:250px;max-width:360px;display:flex;flex-direction:column;max-height:calc(100vh - 230px)}.kcol.drop .klist{outline:2px dashed rgba(255,255,255,.85);outline-offset:-2px;border-radius:12px}.khead{padding:9px 26px 9px 14px;color:#fff;font-weight:600;display:flex;justify-content:space-between;gap:8px;font-size:14px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);border-radius:8px 0 0 8px;text-shadow:0 1px 2px rgba(0,0,0,.18)}.khead .n{font-weight:500;opacity:.92}.ksum{align-self:center;margin:10px 0 4px;padding:4px 16px;font-size:14px;font-weight:600;color:#fff;background:#fff3;border-radius:18px;border:1px solid rgba(255,255,255,.16)}.kadd{margin:6px 6px 4px;padding:5px;text-align:center;color:#fff;border-radius:10px;cursor:pointer;border:1px solid rgba(255,255,255,.25);background:#ffffff1a;font:inherit;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px}.kadd:hover{background:#fff3}.klist{overflow-y:auto;padding:6px 4px 8px;display:flex;flex-direction:column;gap:10px;min-height:60px}.kcard{background:#fff;border-radius:12px;padding:12px 40px 10px 14px;cursor:pointer;font-size:13px;position:relative;box-shadow:0 2px 6px #00000024}.kcard:hover{box-shadow:0 8px 20px #00000038;transform:translateY(-1px)}.kcard .t{font-weight:600;font-size:14px;line-height:1.3}.kcard .sub{color:#8a94a3;font-size:12px}.kcard .amount{font-weight:600;margin-top:4px}.kcard .lbl{color:#8a94a3;font-size:11px;margin-top:8px}.kcard .val{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kcard .acts{position:absolute;right:8px;top:36px;display:flex;flex-direction:column;gap:4px}.kcard .acts button,.kcard .acts a{border:none;background:none;color:#94b5dc;cursor:pointer;padding:4px;border-radius:7px;display:flex}.kcard .acts button:hover,.kcard .acts a:hover{color:var(--primary);background:#eef4fc}.kcard .cnt{position:absolute;right:10px;top:10px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#e6ebf1;color:#6b7686;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.kcard .cnt.hot{background:#2fb344;color:#fff}.kcard .foot{margin-top:8px;padding-top:6px;border-top:1px solid #f0f2f5;color:#8a94a3;font-size:12px;display:flex;align-items:center;gap:4px}.status-pill{display:inline-block;padding:1px 9px;border-radius:10px;font-size:12px;font-weight:500;margin-top:6px}.inbox{display:grid;grid-template-columns:330px 1fr 310px;height:calc(100vh - 104px);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 10px 30px #00000040}@media (max-width: 1250px){.inbox{grid-template-columns:290px 1fr}}.conv-list{border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.conv-list .search{padding:10px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px;background:#f7f9fb}.conv-items{overflow-y:auto;flex:1}.conv{padding:10px 12px;border-bottom:1px solid #f0f2f5;cursor:pointer;display:flex;gap:10px;align-items:flex-start}.conv .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.conv:hover{background:#f6f9fd}.conv.active{background:#e9f2fe}.conv .top{display:flex;justify-content:space-between;gap:6px}.conv .name{font-weight:600}.conv .unread{background:var(--wa);color:#fff;border-radius:10px;font-size:11px;padding:0 7px;line-height:18px}.chat{display:flex;flex-direction:column;min-height:0;background:#efe7de}.chat-head{background:#fff;padding:10px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.chat-body{flex:1;overflow-y:auto;padding:16px 22px;display:flex;flex-direction:column;gap:6px}.bubble{max-width:70%;padding:7px 10px;border-radius:10px;box-shadow:0 1px 1px #00000014;white-space:pre-wrap;word-wrap:break-word}.bubble.in{background:#fff;align-self:flex-start;border-top-left-radius:2px}.bubble.out{background:#d9fdd3;align-self:flex-end;border-top-right-radius:2px}.bubble .meta{font-size:11px;color:#667781;text-align:right;margin-top:3px;display:flex;gap:6px;justify-content:flex-end;align-items:center}.bubble.failed{background:#fde2e2}.ad-card{background:#f0f7ff;border:1px solid #c7defa;border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:12px;color:var(--text)}.ad-card .t{font-weight:600;color:#1550a8;margin-bottom:2px;display:flex;gap:6px;align-items:center}.day-sep{align-self:center;background:#e1f2fb;color:#54656f;font-size:12px;padding:3px 10px;border-radius:6px;margin:6px 0}.composer{background:#f0f2f5;padding:10px;display:flex;gap:8px;align-items:flex-end}.composer textarea{min-height:42px;max-height:160px}.side{border-left:1px solid var(--border);overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:14px}.detail{display:grid;grid-template-columns:350px 1fr;gap:16px;align-items:flex-start}@media (max-width: 1100px){.detail{grid-template-columns:1fr}}.kv{display:grid;grid-template-columns:120px 1fr;gap:7px 10px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.timeline{display:flex;flex-direction:column}.tl-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #f0f2f5}.tl-item:last-child{border-bottom:none}.tl-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;background:#eef3f9;color:#4a6a8f}.tl-body{flex:1;min-width:0}.note-card{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:6px;color:var(--text);--muted: #6b7686;--link: #2067b0}.note-card.pinned{border-color:#f0d58a;background:#fffbef}.note-card.due{border-color:#f59e0b;box-shadow:0 0 0 2px #fde7b0}.note-card.done{opacity:.6}.note-card .note-text{white-space:pre-wrap}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a101c80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:60px 16px;z-index:100;overflow-y:auto}.modal{background:#fff;border-radius:14px;width:100%;max-width:560px;box-shadow:0 20px 50px #0000004d}.modal.wide{max-width:840px}.modal-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center}.modal-head h2{flex:1}.modal-body{padding:18px}.modal-foot{padding:12px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;align-items:center}.x{border:none;background:none;font-size:20px;cursor:pointer;color:var(--muted);line-height:1}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:200;max-width:380px}.toast{background:#1f2937;color:#fff;padding:10px 14px;border-radius:12px;box-shadow:0 8px 24px #00000040;display:flex;gap:10px;align-items:flex-start}.toast.success{background:#1c7c34}.toast.error{background:#a02525}.toast.reminder{background:#fff8e6;border:1px solid #f0c75e}.toast .t{font-weight:600}.toast .b{font-size:13px;opacity:.9;margin-top:2px;white-space:pre-wrap}.bars{display:flex;align-items:flex-end;gap:3px;height:140px;padding-top:8px}.bars .bar{flex:1;background:var(--primary);border-radius:3px 3px 0 0;min-height:2px}.bars .bar.alt{background:var(--success)}.hbar{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:7px}.hbar .lbl{width:170px;flex-shrink:0}.hbar .track{flex:1;background:#eef1f5;border-radius:5px;height:18px;overflow:hidden}.hbar .fill{height:100%;border-radius:5px}.hbar .val{width:60px;text-align:right;font-weight:600}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login{width:100%;max-width:420px;background:#fffffff5;border-radius:18px;box-shadow:0 24px 60px #00000059}.login h1{font-size:22px}.login .brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px}.demo-users{display:grid;grid-template-columns:1fr 1fr;gap:6px}.demo-users button{text-align:left;border:1px solid var(--border);background:#f8fafc;border-radius:9px;padding:6px 8px;cursor:pointer;font:inherit;font-size:12px;display:flex;gap:8px;align-items:center}.demo-users button:hover{border-color:var(--primary);background:#eef5fe}.page-head .badge{background:#fffffff0!important;box-shadow:0 1px 4px #00000026}.kpi:has(.ico) .label{padding-right:38px}.card .tabs{flex-wrap:nowrap;overflow-x:auto}.card .tabs button{white-space:nowrap}.demo-ribbon{position:fixed;left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:60;max-width:calc(100% - 32px);padding:6px 14px;border-radius:999px;background:#0f172ad1;color:#fff;font-size:12px;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.alert-list{display:flex;flex-direction:column}.card-body code{overflow-wrap:anywhere}.alert-row{padding:12px 16px;border-bottom:1px solid #eef1f5}.alert-row.resolved{opacity:.7}.alert-detail{margin:8px 0 0;padding:10px;background:#f6f8fb;border-radius:8px;font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}.icon-btn{border:none;background:none;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.burger,.top-brand,.bottom-nav,.back-btn,.side-toggle,.nav-backdrop,.side-backdrop,.order-cards{display:none}.icon-btn:hover,.icon-btn.active{background:#eef3f9;color:var(--primary)}.detail>*,.grid-2>*,.grid-3>*,.stack>*{min-width:0}.order-card{background:#fff;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:5px;cursor:pointer;border:1px solid var(--border)}.order-card-acts{margin-top:6px}.order-card-acts .btn{flex:1 1 auto}@media (max-width: 1250px){.side-toggle{display:inline-flex}.inbox .side{position:fixed;top:0;right:0;bottom:0;width:min(360px,92vw);z-index:120;background:#fff;transform:translate(105%);transition:transform .2s ease;box-shadow:-12px 0 32px #00000040;padding-top:calc(14px + env(safe-area-inset-top,0px));padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.inbox .side.open{transform:none}.side-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#0a101c73}}@media (max-width: 860px){.sidebar{position:fixed;left:0;top:0;bottom:0;height:auto;width:min(280px,84vw);z-index:150;transform:translate(-105%);transition:transform .2s ease;background:#0e141ff7;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.app.nav-open .sidebar{transform:none;box-shadow:12px 0 32px #00000059}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;background:#0a101c80}.burger{display:inline-flex}.top-brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:16px;color:#fff}.top-brand .logo{width:26px;height:26px;border-radius:8px}.topbar{height:56px;padding:0 max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px));gap:8px}.top-tabs,.top-search,.pill-btn.clock{display:none}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:4px;overflow-x:auto;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#0e141ff0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.1)}.bottom-nav a{flex:1 0 auto;position:relative;color:var(--on-bg);text-align:center;padding:10px 12px;border-radius:10px;font-size:13px;white-space:nowrap}.bottom-nav a:hover{text-decoration:none}.bottom-nav a.active{background:#fff3;font-weight:600}.bottom-nav .bubble-n{top:1px;right:2px}.content{padding:14px max(12px,env(safe-area-inset-right,0px)) calc(84px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}h1{font-size:21px}.page-head{gap:8px;margin-bottom:12px}.page-head>*{max-width:100%}.page-head>input,.page-head>select,.page-head>.grow-mobile{width:100%!important;flex:1 1 100%}.filters input:not([type=checkbox]),.filters select{min-width:0;flex:1 1 140px}.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-12px;margin-right:-12px;padding:0 12px 2px}.tabs::-webkit-scrollbar{display:none}.tabs button{flex-shrink:0;white-space:nowrap}.seg{max-width:100%;overflow-x:auto}.seg button{white-space:nowrap}table.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{padding:8px 10px}.cargo-table{display:none}.order-cards{display:flex;flex-direction:column;gap:10px;padding:10px}.kanban{scroll-snap-type:x mandatory;margin:0 -12px;padding:0 12px 14px}.kcol{flex:0 0 84vw;min-width:0;max-width:330px;scroll-snap-align:start;max-height:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:12px}.kpi .value{font-size:20px}.form-grid{grid-template-columns:1fr}.kv{grid-template-columns:104px 1fr}.hbar .lbl{width:110px}.hbar .val{width:48px}.inbox{grid-template-columns:1fr;height:calc(100dvh - 166px - env(safe-area-inset-bottom,0px));min-height:420px}.inbox.has-conv .conv-list{display:none}.inbox:not(.has-conv)>.chat{display:none}.back-btn{display:inline-flex;margin-left:-6px}.chat-head{padding:8px 10px;gap:8px;flex-wrap:wrap}.chat-head>div{flex:1 1 150px!important}.chat-head>.badge{order:10;margin-left:42px}.chat-body{padding:12px}.bubble{max-width:88%}.modal-back{padding:0;align-items:stretch}.modal,.modal.wide{max-width:none;border-radius:0;min-height:100%;display:flex;flex-direction:column}.modal-head{padding-top:calc(14px + env(safe-area-inset-top,0px))}.modal-body{flex:1}.modal-foot{position:sticky;bottom:0;background:#fff;flex-wrap:wrap;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.menu{position:fixed;left:8px;right:8px;top:calc(60px + env(safe-area-inset-top,0px));min-width:0;max-height:calc(100dvh - 80px);overflow-y:auto}.reminder-strip{padding:6px 12px}.reminder-chip{max-width:78vw}.toasts{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));max-width:none}.demo-ribbon{bottom:calc(68px + env(safe-area-inset-bottom,0px))}}.dt{display:flex;flex-direction:column}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.table th.sorted{color:var(--primary)}.table th .th-in{display:inline-flex;align-items:center;gap:4px}.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;flex-wrap:wrap;border-top:1px solid #eef1f5}label.field .req{color:var(--danger)}label.field.invalid input,label.field.invalid select,label.field.invalid textarea{border-color:var(--danger)}label.field .field-error{color:var(--danger);font-size:12px;font-style:normal}label.field .field-hint{color:var(--muted);font-size:12px;font-style:normal;font-weight:400}.page-sub{color:var(--on-bg-muted);font-size:13px;flex-basis:100%;order:10;margin-top:-8px}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.role-card{display:flex;flex-direction:column;gap:8px}.perm-chips{display:flex;flex-wrap:wrap;gap:4px}.perm-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.perm-group{border:1px solid var(--border);border-radius:10px;padding:8px 12px 10px;margin:0;display:flex;flex-direction:column;gap:6px}.perm-group legend{font-weight:600;font-size:13px;padding:0 4px}.perm{display:flex;gap:8px;align-items:flex-start;font-size:13px;cursor:pointer}.perm input{margin-top:3px}.perm em{color:var(--muted);font-style:normal;font-size:12px}.perm.disabled{opacity:.5;cursor:not-allowed}.tl-icon.green{background:var(--success-soft);color:#11743a}.tl-icon.amber{background:var(--warn-soft);color:#9a5b00}.tl-icon.red{background:var(--danger-soft);color:#b42318}.tl-icon.blue{background:var(--primary-soft);color:#1550a8}.tl-text{line-height:1.6}.tl-note{white-space:pre-wrap;margin-top:4px;padding:8px 10px;background:#f6f8fb;border-radius:8px}.ad-card.ig{background:#fbf2fb;border-color:#ecc7ec}.ad-card.ig .t{color:#9b2c8f}.msg-failed{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px;font-size:12px;color:#b42318}.conv-more{width:100%;padding:12px;border:none;border-top:1px solid #f0f2f5;background:#f8fafc;color:var(--link);cursor:pointer;font:inherit;font-size:13px}.conv-more:hover{background:#eef4fc}.kmore{width:100%;border:1px dashed rgba(255,255,255,.4);background:#ffffff1a;border-radius:10px;color:var(--on-bg);padding:8px;cursor:pointer;font:inherit;font-size:12px}.kmore:hover{background:#fff3}.kempty{text-align:center;font-size:12px;color:var(--on-bg-muted);padding:10px 4px}input[type=checkbox],input[type=radio]{width:auto;flex-shrink:0;margin:0}label.row:has(>input[type=checkbox]){flex-wrap:nowrap;cursor:pointer}.ss-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;font:inherit;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:9px;padding:7px 10px;cursor:pointer;text-align:left}.ss-btn:focus-visible,.ss-btn[aria-expanded=true]{outline:3px solid rgba(47,128,237,.18);border-color:var(--primary)}.ss-btn:disabled{opacity:.6;cursor:not-allowed}.ss-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-value.ph{color:var(--muted)}.ss-panel{position:fixed;z-index:1000;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000038;display:flex;flex-direction:column;max-height:320px;color:var(--text)}.ss-search{display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid #eef1f5;color:var(--muted)}.ss-search input{border:1px solid var(--border);padding:6px 8px}.ss-list{overflow-y:auto;padding:4px 0}.ss-opt{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:14px}.ss-opt.active{background:#eef4fc}.ss-opt.sel .ss-label{font-weight:600;color:var(--primary)}.ss-opt.dis{opacity:.5;cursor:not-allowed}.ss-hint{color:var(--muted);font-size:12px;white-space:nowrap}.ss-empty{padding:10px 12px;color:var(--muted);font-size:13px}.ss-inline{width:auto;min-width:220px}.btn.ghost{background:transparent;border-color:#78829659;color:inherit}.btn.ghost:hover{background:#7882961f}.inline-form{border:1px dashed var(--border);border-radius:10px;padding:12px;margin-top:10px;display:flex;flex-direction:column;gap:10px;background:#fafbfc}.field-error-box{color:var(--danger);font-size:13px;margin-top:6px}.issue-box{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;background:#fff4f2;border:1px solid #f5c2bb;color:#7a1d12;border-radius:12px;padding:12px 14px;margin-bottom:12px}.pay-summary{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted);background:#f6f8fb;border-radius:10px;padding:10px 12px}.pay-summary b{color:var(--text)}.table tfoot td{border-top:1px solid var(--border);border-bottom:none}.notif-menu{width:min(380px,92vw);padding:0;right:0;overflow:hidden}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #eef1f5;color:var(--text)}.notif-list{max-height:420px;overflow-y:auto}.notif-empty{padding:18px 14px;color:var(--muted);font-size:13px}.notif-row{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;border:none;background:#fff;padding:10px 14px;cursor:pointer;border-bottom:1px solid #f3f5f8;font:inherit;color:var(--text)}.notif-row:hover{background:#f6f9fd}.notif-row.unread{background:#f2f7ff}.notif-ico{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.notif-title{font-size:14px;font-weight:600;line-height:1.3}.notif-body{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.notif-time{font-size:12px;color:var(--muted)}.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);margin-top:6px;flex-shrink:0}.notif-all{width:100%;border:none;border-top:1px solid #eef1f5;background:#fafbfc;padding:10px;color:var(--link);cursor:pointer;font:inherit;font-size:13px}.notif-page .notif-row{border-radius:0}.notif-page .notif-body{-webkit-line-clamp:unset}.menu.notif-menu button.notif-row{align-items:flex-start;padding:10px 14px;border-radius:0;background:#fff;gap:10px}.menu.notif-menu button.notif-row.unread{background:#f2f7ff}.menu.notif-menu button.notif-row:hover{background:#eaf2fd}.menu.notif-menu button.notif-all{justify-content:center;border-radius:0;background:#fafbfc;color:var(--link)}.menu.notif-menu .notif-head button{width:auto;padding:0}.announce{padding:14px 16px;border-bottom:1px solid #f0f2f5;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.announce .row{width:100%}.announce.unread{background:#f7f3ff;cursor:pointer}.announce-body{white-space:pre-line;font-size:14px}.chip-check{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:18px;font-size:13px;cursor:pointer;background:#fff}.chip-check.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}a.kpi-link{color:var(--text);text-decoration:none;display:block;cursor:pointer;transition:box-shadow .15s,transform .15s}a.kpi-link:hover{text-decoration:none;box-shadow:0 8px 22px #0000002e;transform:translateY(-1px)}a.kpi-link:focus-visible{outline:3px solid rgba(47,128,237,.4)}.kpi-go{display:inline-flex;align-items:center;gap:2px;font-size:12px;color:var(--primary);margin-top:6px;opacity:.75}a.kpi-link:hover .kpi-go{opacity:1}a.hbar{color:var(--text);text-decoration:none;border-radius:6px}a.hbar:hover{background:#f3f6fa;text-decoration:none}.drill-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--text);border-radius:18px;padding:5px 6px 5px 12px;font-size:13px;box-shadow:0 2px 8px #00000026}.drill-chip button{border:none;background:#eef1f5;border-radius:12px;padding:2px 8px;cursor:pointer;font:inherit;font-size:12px}.issue-line{display:flex;align-items:center;gap:8px;color:inherit;padding:6px 8px;border-radius:8px;background:#fff7f5;min-width:0}.issue-line:hover{background:#ffecea;text-decoration:none}.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.staff-card{text-align:left;font:inherit;color:var(--text);border:none;cursor:pointer;padding:14px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .15s,transform .15s}.staff-card:hover{box-shadow:0 8px 22px #0000002e;transform:translateY(-1px)}.staff-card.inactive{opacity:.6}.staff-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.staff-stat{background:#f6f8fb;border-radius:10px;padding:8px}.staff-stat .v{font-size:20px;font-weight:700;line-height:1.1}.staff-stat .l{font-size:11px;color:var(--muted)}.staff-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid #eef1f5;padding-top:8px}.feed{display:flex;flex-direction:column}.feed-row{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid #f0f2f5;align-items:flex-start}.feed-ico{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.feed-body{flex:1;min-width:0;font-size:14px}.feed-detail{margin-top:4px;font-size:13px;color:#374151;background:#f6f8fb;border-left:3px solid #d7dee8;padding:6px 10px;border-radius:6px;white-space:pre-line}.scroll-seg{overflow-x:auto;max-width:100%}.scroll-seg button{white-space:nowrap}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn.danger-solid:hover{background:#d23b40}.btn.trash-btn{color:#4b5563}.btn.trash-btn:hover{color:var(--danger);border-color:#f2b8b8;background:var(--danger-soft)}.counter-chip.trash b{background:#6b7280}.counter-chip.trash.drop{background:var(--danger);color:#fff;border-color:var(--danger);transform:scale(1.06)}.counter-chip.trash.drop b{background:#ffffff40}.kcard .acts button.trash:hover{color:var(--danger);background:var(--danger-soft)}.kcard .acts button.restore{color:#16a34a}.kcard.junk{opacity:.88}.reason-chips{display:flex;flex-wrap:wrap;gap:6px}.reason-chips button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:16px;padding:5px 11px;font:inherit;font-size:13px;cursor:pointer}.reason-chips button:hover{background:#f3f5f8}.reason-chips button.active{background:#4b5563;border-color:#4b5563;color:#fff}.trash-note{display:flex;align-items:center;gap:8px;margin-bottom:12px;background:#f3f4f6;color:#374151}.pw-input{position:relative;width:100%}.pw-input input{padding-right:42px}.pw-input input::-ms-reveal,.pw-input input::-ms-clear{display:none}.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--muted);padding:6px;border-radius:7px;cursor:pointer;display:flex}.pw-eye:hover{color:var(--text);background:#f3f5f8}.pw-eye:focus-visible{outline:2px solid var(--primary)}
