/* LIBRA OS · 五公司经营管理平台统一设计系统 */
:root {
  --libra-bg:#f4f7fb; --libra-panel:#fff; --libra-panel-soft:#f8fafc;
  --libra-sidebar:#071426; --libra-ink:#0b1728; --libra-muted:#64748b;
  --libra-faint:#94a3b8; --libra-line:#e2e8f0; --libra-line-strong:#cbd5e1;
  --libra-primary:#2563eb; --libra-primary-dark:#1d4ed8; --libra-primary-soft:#eff6ff;
  --libra-cyan:#06b6d4; --libra-green:#059669; --libra-red:#dc2626;
  --libra-amber:#d97706; --libra-violet:#7c3aed;
  --libra-radius:14px; --libra-radius-lg:20px;
  --libra-shadow-sm:0 1px 2px rgba(15,23,42,.04),0 1px 4px rgba(15,23,42,.025);
  --libra-shadow:0 12px 32px rgba(15,23,42,.075);
  --sidebar-w:228px; --tabbar-h:64px;
  /* 旧业务页兼容变量 */
  --blue:var(--libra-primary); --blue-dark:var(--libra-primary-dark);
  --green:var(--libra-green); --red:var(--libra-red); --orange:var(--libra-amber);
  --gray:var(--libra-muted); --bg:var(--libra-bg); --card:var(--libra-panel);
  --line:var(--libra-line); --text:var(--libra-ink); --text2:var(--libra-muted);
  --radius:var(--libra-radius);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{font-size:16px;background:var(--libra-bg);scroll-behavior:smooth}
body{min-height:100vh;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;color:var(--libra-ink);line-height:1.5;background:radial-gradient(circle at 84% -10%,rgba(37,99,235,.055),transparent 27rem),var(--libra-bg);padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 14px);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.libra-modal-open{overflow:hidden}
[v-cloak]{display:none!important} a{color:inherit} button,input,select,textarea{font:inherit} button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}
::selection{color:#fff;background:rgba(37,99,235,.85)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#cbd5e1;border:3px solid transparent;border-radius:999px;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}

/* 页面骨架 */
.libra-debug-banner{min-height:36px;padding:7px 16px;display:flex;align-items:center;justify-content:center;gap:9px;color:#7c2d12;background:linear-gradient(90deg,#fff7ed,#fffbeb);border-bottom:1px solid #fed7aa;font-size:12px;line-height:1.35;text-align:center}.libra-debug-banner b{padding:2px 7px;color:#fff;background:#ea580c;border-radius:999px;font-size:10px;letter-spacing:.04em;white-space:nowrap}.libra-debug-banner span{font-weight:600}.libra-debug-banner em{padding-left:9px;color:#9a3412;border-left:1px solid #fdba74;font-size:10.5px;font-style:normal;font-weight:700;white-space:nowrap}
.page{width:100%;max-width:760px;margin:0 auto;padding:16px;animation:libra-page-in .28s cubic-bezier(.2,.75,.25,1) both}
@keyframes libra-page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.topbar{position:sticky;top:0;z-index:25;min-height:62px;padding:10px 16px;display:flex;align-items:center;gap:10px;color:var(--libra-ink);background:rgba(255,255,255,.9);border-bottom:1px solid rgba(226,232,240,.85);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px)}
.topbar h1{min-width:0;flex:1;font-size:17px;font-weight:720;letter-spacing:-.015em}
.topbar .back{display:inline-flex;align-items:center;min-height:36px;padding:0 9px 0 2px;color:var(--libra-muted);font-size:13px;font-weight:600;cursor:pointer;border-radius:9px}
.topbar .back:hover{color:var(--libra-primary);background:var(--libra-primary-soft)}
.topbar .right{max-width:42vw;overflow:hidden;color:var(--libra-primary);font-size:13px;font-weight:650;cursor:pointer;text-overflow:ellipsis;white-space:nowrap}
.top-actions{display:flex;align-items:center;gap:7px}
.top-icon{appearance:none;border:1px solid var(--libra-line);background:#fff;color:var(--libra-muted);width:38px;height:38px;border-radius:11px;display:inline-grid;place-items:center;font-size:18px;line-height:1;padding:0;cursor:pointer;position:relative;box-shadow:var(--libra-shadow-sm)}
.top-icon:hover{color:var(--libra-primary);border-color:#bfdbfe;background:var(--libra-primary-soft)}
.notify-badge{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--libra-red);color:#fff;border:2px solid #fff;font-size:9px;font-weight:750;line-height:14px;text-align:center}

/* 卡片、列表、入口 */
.card,.list-item{background:var(--libra-panel);border:1px solid rgba(226,232,240,.92);border-radius:var(--libra-radius);box-shadow:var(--libra-shadow-sm)}
.card{padding:16px;margin-bottom:14px}.card h3{color:var(--libra-ink);font-size:15px;font-weight:700;letter-spacing:-.01em;margin-bottom:11px}
.card .more,.more{float:right;color:var(--libra-primary);font-size:12.5px;font-weight:650;cursor:pointer}
.card[style*="cursor:pointer"],.list-item{transition:border-color .18s,box-shadow .18s,transform .18s}
.card[style*="cursor:pointer"]:hover,.list-item:hover{border-color:#bfdbfe;box-shadow:0 9px 24px rgba(37,99,235,.08);transform:translateY(-1px)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.grid .cell{min-height:92px;padding:13px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;font-size:13.5px;font-weight:590;background:var(--libra-panel-soft);border:1px solid var(--libra-line);border-radius:12px;transition:color .18s,background .18s,border-color .18s,transform .18s}
.grid .cell:hover{color:var(--libra-primary);border-color:#bfdbfe;background:var(--libra-primary-soft);transform:translateY(-1px)}.grid .cell:active{transform:scale(.985)}
.cell .ico{width:36px;height:36px;margin-bottom:7px;border-radius:11px;display:grid;place-items:center;color:var(--libra-primary);font-size:21px;background:linear-gradient(145deg,#eef6ff,#e0edff);border:1px solid rgba(147,197,253,.35)}.cell .ico svg{width:18px;height:18px}
.list-item{padding:14px 15px;margin-bottom:10px;cursor:pointer}.list-item .row1{display:flex;align-items:center;gap:9px}.list-item .title{min-width:0;flex:1;font-size:14.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item .amount{font-size:14.5px;font-weight:720;letter-spacing:-.015em}.list-item .row2{display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;margin-top:5px;color:var(--libra-muted);font-size:12px}.wait-long{color:var(--libra-amber);font-weight:700}

/* 状态 */
.st{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:650;line-height:1.15;white-space:nowrap;text-decoration:none}
.st-draft,.st-withdrawn{background:#f1f5f9;color:#64748b}.st-pending{background:#eff6ff;color:#1d4ed8}.st-approved,.st-paid,.st-posted{background:#ecfdf5;color:#047857}.st-rejected{background:#fef2f2;color:#b91c1c}.st-voided{background:#f1f5f9;color:#94a3b8;text-decoration:line-through}

/* 表单 */
.field{margin-bottom:15px}.field>label{display:block;margin-bottom:6px;color:#475569;font-size:12.5px;font-weight:620}
.field input[type=text],.field input[type=number],.field input[type=date],.field input[type=month],.field input[type=time],.field input[type=datetime-local],.field input[type=tel],.field input[type=password],.field select,.field textarea{width:100%;min-height:44px;padding:10px 12px;color:var(--libra-ink);font-size:15px;background:#fff;border:1px solid var(--libra-line-strong);border-radius:10px;appearance:none;transition:border-color .18s,box-shadow .18s,background .18s}
.field textarea{min-height:84px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#a3afbf}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(37,99,235,.11)}.field input:disabled,.field select:disabled,.field textarea:disabled{color:#64748b;background:#f8fafc;cursor:not-allowed}
.amount-input{font-size:26px!important;font-weight:730;text-align:left;letter-spacing:-.025em}
.opts{display:flex;flex-wrap:wrap;gap:7px}.opts .opt{min-height:34px;padding:7px 12px;display:inline-flex;align-items:center;justify-content:center;color:#475569;background:#fff;border:1px solid var(--libra-line-strong);border-radius:9px;font-size:13px;font-weight:560;text-align:center;cursor:pointer;transition:color .16s,background .16s,border-color .16s,box-shadow .16s}.opts .opt:hover{color:var(--libra-primary);border-color:#93c5fd}.opts .opt.on{color:#fff;background:var(--libra-primary);border-color:var(--libra-primary);box-shadow:0 4px 11px rgba(37,99,235,.2)}

/* 按钮、分段、表格 */
.btn{width:100%;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:10px;display:block;text-align:center;font-size:14.5px;font-weight:680;cursor:pointer;transition:transform .15s,box-shadow .18s,background .18s,border-color .18s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(.99)}.btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 18px rgba(37,99,235,.2)}.btn-primary:hover:not(:disabled){box-shadow:0 10px 24px rgba(37,99,235,.28)}.btn-green{color:#fff;background:var(--libra-green);box-shadow:0 7px 16px rgba(5,150,105,.18)}.btn-red{color:#fff;background:var(--libra-red)}.btn-ghost{color:#334155;background:#fff;border-color:var(--libra-line-strong)}.btn-ghost:hover:not(:disabled){color:var(--libra-primary);background:var(--libra-primary-soft);border-color:#93c5fd}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btnrow{display:flex;gap:9px}.btnrow .btn{flex:1}.mini-btn{min-height:34px;padding:6px 12px;color:var(--libra-primary);background:#fff;border:1px solid #93c5fd;border-radius:9px;font-size:12.5px;font-weight:650;cursor:pointer}
.seg{display:flex;gap:4px;overflow-x:auto;padding:4px;margin-bottom:14px;background:#e9eef5;border:1px solid #e4eaf2;border-radius:11px;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg div{min-width:max-content;flex:1;padding:7px 11px;color:var(--libra-muted);border-radius:8px;text-align:center;font-size:13px;font-weight:580;cursor:pointer}.seg div.on{color:var(--libra-ink);background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.08)}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}th{color:var(--libra-muted);background:#f8fafc;font-size:11.5px;font-weight:700}th,td{padding:10px 9px;border-bottom:1px solid var(--libra-line);text-align:left}tr:last-child td{border-bottom:0}tbody tr{transition:background .15s}tbody tr:hover{background:#f8fbff}
.archive-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:10px;align-items:end}.archive-filters .field{margin:0}.archive-filters .mini-btn{min-height:44px}.archive-search{min-width:0}

/* 时间线与附件 */
.timeline{position:relative;padding-left:21px}.timeline .tl-item{position:relative;padding:0 0 16px 3px;font-size:13px}.timeline .tl-item:before{content:"";position:absolute;left:-17px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--libra-line-strong);border:2px solid #fff;box-shadow:0 0 0 1px var(--libra-line-strong)}.timeline .tl-item.ok:before{background:var(--libra-green);box-shadow:0 0 0 1px var(--libra-green)}.timeline .tl-item.bad:before{background:var(--libra-red);box-shadow:0 0 0 1px var(--libra-red)}.timeline .tl-item.now:before{background:var(--libra-primary);box-shadow:0 0 0 4px #dbeafe}.timeline .tl-item:after{content:"";position:absolute;left:-13px;top:17px;bottom:-2px;width:1px;background:var(--libra-line)}.timeline .tl-item:last-child:after{display:none}.tl-meta{color:var(--libra-muted);font-size:11.5px}
.thumbs{display:flex;flex-wrap:wrap;gap:9px}.thumbs .th{width:78px;height:78px;object-fit:cover;cursor:pointer;background:#f8fafc;border:1px solid var(--libra-line);border-radius:11px}.thumbs .th-add{width:78px;height:78px;display:flex;align-items:center;justify-content:center;color:var(--libra-muted);font-size:25px;cursor:pointer;border:1px dashed #94a3b8;border-radius:11px;background:#f8fafc}

/* 抽屉与消息 */
.mask{position:fixed;inset:0;z-index:60;padding:14px;display:flex;align-items:flex-end;justify-content:center;background:rgba(3,10,22,.57);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:libra-fade .16s ease both}.sheet{position:relative;width:100%;max-width:620px;max-height:min(90vh,900px);overflow-y:auto;padding:20px 17px calc(20px + env(safe-area-inset-bottom,0px));background:#fff;border:1px solid rgba(255,255,255,.75);border-radius:20px;box-shadow:0 24px 70px rgba(3,10,22,.28);animation:libra-sheet-up .25s cubic-bezier(.2,.8,.25,1) both}.sheet:before{content:"";display:block;width:34px;height:4px;margin:-7px auto 14px;border-radius:999px;background:#d7dee8}.sheet h3{min-height:28px;margin-bottom:15px;padding-right:38px;color:var(--libra-ink);font-size:17px;font-weight:720}.libra-sheet-close{position:absolute;right:14px;top:14px;z-index:2;width:32px;height:32px;display:grid;place-items:center;color:#64748b;background:#f8fafc;border:1px solid var(--libra-line);border-radius:9px;cursor:pointer}.libra-sheet-close:hover{color:var(--libra-primary);background:var(--libra-primary-soft);border-color:#bfdbfe}.libra-sheet-close svg{width:16px;height:16px}@keyframes libra-fade{from{opacity:0}}@keyframes libra-sheet-up{from{opacity:0;transform:translateY(18px)}}
.setting-row{display:flex;align-items:center;gap:10px;padding:12px 0;margin-bottom:13px;border-top:1px solid var(--libra-line);border-bottom:1px solid var(--libra-line)}.notif-row{display:flex;align-items:center;gap:10px;padding:12px 5px;border-bottom:1px solid var(--libra-line);cursor:pointer}.notif-row.unread{margin:0 -7px;padding-left:12px;padding-right:12px;background:var(--libra-primary-soft);border-radius:10px}.notif-ico{width:32px;height:32px;flex:none;display:grid;place-items:center;color:var(--libra-primary);background:#dbeafe;border-radius:10px;font-size:16px}.notif-ico svg{width:17px;height:17px}.notif-title{overflow:hidden;color:#334155;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.notif-row.unread .notif-title{color:var(--libra-ink);font-weight:680}.notif-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--libra-primary)}.viewer{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.94)}.viewer img{max-width:100%;max-height:100%}

/* 今日工作台 */
.workbench-card{padding:0;overflow:hidden}.workbench-head{display:flex;align-items:center;gap:10px;padding:16px;background:linear-gradient(135deg,#f2f7ff 0%,#fff 75%);border-bottom:1px solid var(--libra-line)}.workbench-head>div:first-child{flex:1}.workbench-counts{display:flex;gap:5px}.work-item{position:relative;display:flex;align-items:center;gap:11px;padding:12px 15px;border-bottom:1px solid var(--libra-line);cursor:pointer;transition:background .15s}.work-item:hover{background:#f8fbff}.work-item:last-of-type{border-bottom:0}.work-item.lv-urgent:before,.work-item.lv-warning:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0}.work-item.lv-urgent:before{background:var(--libra-red)}.work-item.lv-warning:before{background:var(--libra-amber)}.work-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;color:var(--libra-primary);background:#edf4ff;border-radius:10px;font-size:18px}.work-main{min-width:0;flex:1}.work-title{overflow:hidden;color:#1e293b;font-size:13.5px;font-weight:660;text-overflow:ellipsis;white-space:nowrap}.work-due{color:var(--libra-muted);font-size:11.5px;text-align:right;white-space:nowrap}.work-due span{display:block;color:var(--libra-primary);font-size:17px;line-height:14px}

/* 通用信息 */
#toast{position:fixed;left:50%;bottom:86px;z-index:120;max-width:min(88vw,460px);padding:10px 16px;color:#fff;background:rgba(7,20,38,.94);border:1px solid rgba(255,255,255,.09);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.22);transform:translateX(-50%);text-align:center;font-size:13px;animation:libra-toast .18s ease both}@keyframes libra-toast{from{opacity:0;transform:translate(-50%,7px)}}.empty{padding:38px 10px 27px;color:var(--libra-muted);text-align:center;font-size:13px}.hint{color:var(--libra-muted);font-size:12px}.money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.pos{color:var(--libra-green)!important}.neg{color:var(--libra-red)!important}

/* 手机底栏 */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding:6px 7px env(safe-area-inset-bottom,0px);display:flex;background:rgba(255,255,255,.96);border-top:1px solid var(--libra-line);box-shadow:0 -8px 24px rgba(15,23,42,.055);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.tabbar a{min-width:0;flex:1;position:relative;padding-top:3px;color:#7b8ba1;text-decoration:none;text-align:center;font-size:10px;font-weight:590}.tabbar a .ti{width:28px;height:28px;margin:0 auto 1px;display:grid;place-items:center;border-radius:9px;line-height:1}.tabbar a .ti svg{width:19px;height:19px;stroke-width:1.9}.tabbar a.on{color:var(--libra-primary)}.tabbar a.on .ti{background:#eaf2ff}.tabbar .bdg{position:absolute;top:0;left:calc(50% + 8px);min-width:17px;height:17px;padding:0 4px;color:#fff;background:var(--libra-red);border:2px solid #fff;border-radius:999px;font-size:9px;font-weight:750;line-height:13px}

/* 桌面侧栏 */
.libra-sidebar{display:none}.libra-sidebar-brand{height:74px;padding:0 20px;display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.libra-mark{position:relative;width:34px;height:34px;flex:none;display:grid;place-items:center;border:1px solid rgba(125,211,252,.3);border-radius:11px;background:linear-gradient(145deg,rgba(37,99,235,.9),rgba(6,182,212,.72));box-shadow:0 8px 24px rgba(37,99,235,.28)}.libra-mark:before,.libra-mark:after{content:"";position:absolute;border:2px solid rgba(255,255,255,.95);border-radius:2px;transform:rotate(45deg)}.libra-mark:before{width:12px;height:12px}.libra-mark:after{width:5px;height:5px;border-color:rgba(255,255,255,.62)}.libra-brand-copy{min-width:0}.libra-brand-name{font-size:16px;font-weight:760;letter-spacing:.08em;line-height:1.05}.libra-brand-sub{margin-top:4px;color:#7f94ad;font-size:8.5px;font-weight:680;letter-spacing:.12em;white-space:nowrap}.libra-nav{flex:1;overflow-y:auto;padding:13px 12px 18px}.libra-nav-group{margin-top:13px}.libra-nav-group:first-child{margin-top:0}.libra-nav-label{padding:0 11px 7px;color:#60758f;font-size:9.5px;font-weight:730;letter-spacing:.14em}.libra-nav-item{min-height:42px;margin-bottom:3px;padding:0 11px;display:flex;align-items:center;gap:10px;color:#9eb0c5;border:1px solid transparent;border-radius:10px;text-decoration:none;font-size:12.5px;font-weight:590;transition:color .16s,background .16s,border-color .16s}.libra-nav-item svg{width:17px;height:17px;flex:none;stroke-width:1.8}.libra-nav-item:hover{color:#e7f0fb;background:rgba(255,255,255,.045)}.libra-nav-item.on{color:#fff;background:linear-gradient(90deg,rgba(37,99,235,.25),rgba(6,182,212,.075));border-color:rgba(96,165,250,.14)}.libra-nav-item.on svg{color:#60a5fa}.libra-nav-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.libra-side-badge{min-width:20px;height:20px;padding:0 6px;display:none;align-items:center;justify-content:center;color:#fff;background:#ef4444;border-radius:999px;font-size:9px;font-weight:750}.libra-sidebar-user{margin:0 12px 14px;padding:11px;display:flex;align-items:center;gap:9px;color:#dce7f4;background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.1);border-radius:12px}.libra-avatar{width:32px;height:32px;flex:none;display:grid;place-items:center;color:#dbeafe;background:linear-gradient(145deg,#1d4ed8,#0e7490);border-radius:10px;font-size:12px;font-weight:760}.libra-user-copy{min-width:0;flex:1}.libra-user-name{overflow:hidden;color:#f4f8fc;font-size:12px;font-weight:660;text-overflow:ellipsis;white-space:nowrap}.libra-user-role{overflow:hidden;margin-top:2px;color:#6f849e;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}

/* 首页组件 */
.libra-home{max-width:1280px}.libra-hero{position:relative;overflow:hidden;padding:25px 26px;color:#fff;background:linear-gradient(120deg,#0b1d34 0%,#102d55 54%,#0f4c69 100%);border:0;border-radius:18px;box-shadow:0 18px 45px rgba(7,20,38,.16)}.libra-hero:before{content:"";position:absolute;width:330px;height:330px;right:-120px;top:-220px;border:1px solid rgba(125,211,252,.18);border-radius:50%;box-shadow:0 0 0 42px rgba(59,130,246,.035),0 0 0 84px rgba(6,182,212,.025)}.libra-eyebrow{position:relative;color:#7dd3fc;font-size:9.5px;font-weight:760;letter-spacing:.16em;text-transform:uppercase}.libra-hero h2{position:relative;margin:7px 0 5px;font-size:clamp(21px,2.5vw,29px);font-weight:730;letter-spacing:-.025em}.libra-hero p{position:relative;max-width:640px;color:#9fb5cc;font-size:12.5px}.libra-hero-meta{position:relative;margin-top:17px;display:flex;flex-wrap:wrap;gap:7px}.libra-hero-chip{padding:5px 9px;color:#c6d8ea;background:rgba(255,255,255,.055);border:1px solid rgba(148,163,184,.14);border-radius:999px;font-size:10.5px}
.libra-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.libra-kpi{min-height:108px;padding:17px;background:#fff;border:1px solid var(--libra-line);border-radius:14px;box-shadow:var(--libra-shadow-sm)}.libra-kpi-top{display:flex;align-items:center;gap:8px;color:var(--libra-muted);font-size:11px;font-weight:630}.libra-kpi-icon{width:29px;height:29px;display:grid;place-items:center;color:var(--libra-primary);background:var(--libra-primary-soft);border-radius:9px}.libra-kpi-icon svg{width:15px;height:15px}.libra-kpi-value{margin-top:11px;color:var(--libra-ink);font-size:22px;font-weight:760;letter-spacing:-.025em}.libra-kpi-note{margin-top:2px;color:var(--libra-muted);font-size:10.5px}.libra-home-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(280px,.72fr);gap:14px;align-items:start}.libra-section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.libra-section-title h3{margin:0;flex:1;font-size:14.5px}.libra-section-kicker{color:var(--libra-muted);font-size:10.5px}.libra-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.libra-module-link{min-height:66px;padding:11px;display:flex;align-items:center;gap:10px;color:#334155;background:#f8fafc;border:1px solid var(--libra-line);border-radius:11px;cursor:pointer;transition:all .17s}.libra-module-link:hover{color:var(--libra-primary);background:#f2f7ff;border-color:#bfdbfe;transform:translateY(-1px)}.libra-module-link .libra-module-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;color:var(--libra-primary);background:#eaf2ff;border-radius:10px}.libra-module-link svg{width:17px;height:17px}.libra-module-copy{min-width:0;flex:1}.libra-module-copy b{display:block;font-size:12.5px}.libra-module-copy span{display:block;overflow:hidden;margin-top:2px;color:var(--libra-muted);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}

.top-icon>span:first-child,.libra-kpi-icon,.libra-module-icon,.libra-link-arrow{display:grid;place-items:center}.top-icon svg{width:18px;height:18px}.libra-link-arrow{width:18px;height:18px;flex:none;color:#9aa9bb}.libra-link-arrow svg{width:15px;height:15px}.libra-show-more{padding:11px;color:var(--libra-primary);border-top:1px solid var(--libra-line);text-align:center;font-size:12px;font-weight:650;cursor:pointer}
.libra-quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.libra-quick{min-height:64px;padding:10px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#334155;background:#f8fafc;border:1px solid var(--libra-line);border-radius:11px;cursor:pointer;transition:all .17s}.libra-quick:hover{color:var(--libra-primary);background:#f2f7ff;border-color:#bfdbfe;transform:translateY(-1px)}.libra-quick svg{width:18px;height:18px;color:var(--libra-primary)}.libra-quick b{font-size:11.5px;font-weight:650}
.libra-company-row{min-height:61px;padding:9px 4px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--libra-line);cursor:pointer}.libra-company-row:last-child{border-bottom:0}.libra-company-row:hover{background:#f8fbff}.libra-company-mark{width:33px;height:33px;flex:none;display:grid;place-items:center;color:#1d4ed8;background:#eaf2ff;border-radius:10px;font-size:12px;font-weight:760}.libra-company-copy{min-width:0;flex:1}.libra-company-copy b,.libra-company-copy span{display:block}.libra-company-copy b{font-size:12.5px}.libra-company-copy span{margin-top:2px;color:var(--libra-muted);font-size:9.5px}.libra-company-money{color:#1e293b;font-size:13px;font-weight:720}
.libra-compact-row{padding:10px 2px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--libra-line);cursor:pointer}.libra-compact-row:last-child{border-bottom:0}.libra-compact-main{min-width:0;flex:1}.libra-compact-main b,.libra-compact-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.libra-compact-main b{font-size:12.5px;font-weight:650}.libra-compact-main span{margin-top:2px;color:var(--libra-muted);font-size:10px}.libra-ann-row{padding:10px 2px;border-bottom:1px solid var(--libra-line)}.libra-ann-row:last-child{border-bottom:0}.libra-ann-row b{display:block;font-size:12.5px}.libra-ann-row p{margin-top:4px;color:#475569;font-size:11.5px;white-space:pre-wrap}.libra-ann-row>span{display:block;margin-top:4px;color:var(--libra-muted);font-size:9.5px}

@media(min-width:900px){body{padding-bottom:28px}body.libra-app-ready #app{min-height:100vh;margin-left:var(--sidebar-w)}body.libra-app-ready>.libra-debug-banner{margin-left:var(--sidebar-w)}.libra-sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:var(--sidebar-w);display:flex;flex-direction:column;background:linear-gradient(180deg,var(--libra-sidebar),#07111f);border-right:1px solid rgba(148,163,184,.08);box-shadow:10px 0 35px rgba(7,20,38,.04)}.tabbar{display:none}.topbar{min-height:68px;padding:12px 25px}.topbar h1{font-size:18px}.page{max-width:1120px;padding:22px 25px 34px}body[data-libra-page="home"] .page{max-width:1320px}body[data-libra-page="finance"] .page,body[data-libra-page="inventory"] .page{max-width:1280px}body[data-libra-page="admin"] .page,body[data-libra-page="docs"] .page{max-width:1200px}.card{padding:18px;margin-bottom:15px}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grid .cell{min-height:98px}.mask{align-items:stretch;justify-content:flex-end;padding:0}.sheet{height:100vh;max-height:none!important;max-width:570px;padding:28px 27px;border-radius:22px 0 0 22px;animation-name:libra-sheet-side}.sheet:before{display:none}@keyframes libra-sheet-side{from{opacity:0;transform:translateX(22px)}}#toast{bottom:34px}}
@media(min-width:1200px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:899px){.archive-filters{grid-template-columns:1fr 1fr}.archive-search{grid-column:1/-1}.archive-filters .mini-btn{grid-column:1/-1}.libra-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.libra-home-grid{display:block}.libra-home-grid>*,.libra-home-grid>div>*{margin-bottom:11px}.libra-hero{padding:21px 18px}.libra-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.libra-debug-banner{padding:7px 10px;gap:6px;flex-wrap:wrap}.libra-debug-banner em{width:100%;padding:0;border:0}.page{padding:12px}.topbar{min-height:56px;padding:8px 12px}.topbar h1{font-size:16px}.card{padding:14px;margin-bottom:11px;border-radius:13px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grid .cell{min-height:85px;padding:10px 5px;font-size:12px}.cell .ico{width:33px;height:33px;font-size:19px}.libra-kpi-grid{gap:9px;margin-bottom:11px}.libra-kpi{min-height:96px;padding:13px}.libra-kpi-value{font-size:18px}.libra-module-grid{grid-template-columns:1fr}.btnrow{gap:7px}.sheet{border-radius:19px 19px 10px 10px}}
.libra-filing-footer{padding:20px 16px;text-align:center;font-size:12px;line-height:1.6;color:#526b65}
.libra-filing-footer a{display:inline-block;padding:5px 4px;color:inherit;text-decoration:none}
.libra-filing-footer a:hover{text-decoration:underline}
.libra-filing-footer a:focus-visible{outline:2px solid #2563eb;outline-offset:3px;border-radius:3px}
@media(min-width:900px){body.libra-app-ready>.libra-filing-footer{margin-left:var(--sidebar-w)}}
@media print{body{background:#fff!important;padding:0!important}.libra-sidebar,.tabbar{display:none!important}body.libra-app-ready #app{margin-left:0!important}.page{max-width:none!important}.libra-filing-footer{margin-left:0!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(min-width:900px){body[data-libra-page="accounting"] .page{max-width:1280px}}
