@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/tajawal-arabic-400-normal-CyCXRvzh.woff2) format("woff2"),url(/assets/tajawal-arabic-400-normal-DCQxawbB.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/tajawal-latin-400-normal-BVNSOH3d.woff2) format("woff2"),url(/assets/tajawal-latin-400-normal-BdYcZznU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/tajawal-arabic-500-normal-BZ8ojJNu.woff2) format("woff2"),url(/assets/tajawal-arabic-500-normal-CbVEaYEW.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/tajawal-latin-500-normal-CoYeBiSI.woff2) format("woff2"),url(/assets/tajawal-latin-500-normal-DU9v6xgj.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/tajawal-arabic-700-normal-D2-eand5.woff2) format("woff2"),url(/assets/tajawal-arabic-700-normal-9L7Zusdl.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Tajawal;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/tajawal-latin-700-normal-BypgxfGb.woff2) format("woff2"),url(/assets/tajawal-latin-700-normal-CV3bxpHe.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary: #1492e6;--primary-dark: #0b78c4;--primary-soft: color-mix(in srgb, var(--primary) 11%, transparent);--brand: #0d9488;--brand-dark: #0f766e;--bg: #f3f6fa;--surface: #ffffff;--surface-2: #f5f8fb;--text: #1e293b;--text-muted: #6b7a90;--border: #e5eaf1;--danger: #e5484d;--ok: #16a34a;--warn: #d99a06;--info: #6366f1;--radius: .75rem;--radius-sm: .55rem;--radius-lg: 1rem;--shadow: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 18px -10px rgba(15, 23, 42, .14);--shadow-lg: 0 18px 44px -14px rgba(15, 23, 42, .24), 0 4px 12px -6px rgba(15, 23, 42, .1);--ring: 0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);--control-h: 2.6rem;--sidebar-w: 272px;--topbar-h: 64px}:root[data-theme=dark]{--primary: #3aa5ee;--primary-dark: #62b8f3;--bg: #0e1522;--surface: #172131;--surface-2: #1d293c;--text: #e6edf5;--text-muted: #94a3b8;--border: #2a374e;--danger: #f0676b;--ok: #35c173;--warn: #e8b33a;--info: #8b8ef5;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 16px -8px rgba(0, 0, 0, .55);--shadow-lg: 0 18px 44px -12px rgba(0, 0, 0, .65);color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:Tajawal,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}h1{font-size:1.35rem;font-weight:700;margin:0;line-height:1.3}h2{font-size:1.1rem;font-weight:700;margin:0}h3{font-size:1rem;font-weight:700;margin:0 0 .75rem}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 60%,transparent);outline-offset:2px}.app-icon{flex-shrink:0;display:inline-block;vertical-align:middle}.app-icon-emoji{flex-shrink:0;line-height:1}.btn-primary,.btn-ghost,.btn-mini,.icon-btn{font-family:inherit;cursor:pointer;border-radius:var(--radius-sm);border:1px solid transparent;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--control-h);font-size:.92rem}.btn-primary{background:var(--primary);color:#fff;padding:.45rem 1.15rem;font-weight:700;box-shadow:0 6px 14px -8px color-mix(in srgb,var(--primary) 80%,transparent)}:root[data-theme=dark] .btn-primary{color:#06182a}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary.full{width:100%;padding:.65rem}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border);padding:.45rem 1rem;font-weight:500}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-mini{display:inline-flex;align-items:center;gap:.3rem;vertical-align:middle;background:var(--surface);color:var(--text);border-color:var(--border);padding:.3rem .7rem;font-size:.8rem;font-weight:500;margin-inline-start:.25rem}.btn-mini:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 45%,var(--border));color:var(--primary);background:var(--primary-soft)}.btn-mini:disabled{opacity:.45;cursor:not-allowed}.btn-mini.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.btn-mini.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:var(--danger);color:var(--danger)}.icon-btn{display:inline-grid;place-items:center;min-width:2.4rem;height:2.4rem;padding:0 .45rem;background:transparent;font-size:1.05rem;color:var(--text);border-radius:var(--radius-sm)}.icon-btn:hover{background:var(--surface-2);color:var(--primary)}.shell{display:flex;flex-direction:column;height:100vh;height:100dvh}.topbar{height:var(--topbar-h);flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;padding:0 1.25rem;position:sticky;top:0;z-index:20}.topbar-brand{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:calc(var(--sidebar-w) - 1.25rem);flex-shrink:0}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.15rem;letter-spacing:.01em}.brand .logo,.login-logo{display:inline-grid;place-items:center;color:#fff;background:linear-gradient(135deg,#14b8a6,var(--brand-dark))}.brand .logo{width:34px;height:34px;border-radius:10px}.brand .logo svg,.login-logo svg{width:58%;height:58%}.topbar-search{flex:1;max-width:460px}.clock-pill{display:inline-flex;align-items:center;gap:.5rem;height:2.4rem;padding:0 .95rem;white-space:nowrap;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:.86rem}.clock-pill .app-icon{color:var(--primary)}.topbar-right{display:flex;align-items:center;gap:.3rem;margin-inline-start:auto}.chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface-2);border:1px solid var(--border);padding:.25rem .7rem;border-radius:999px;font-size:.82rem;font-weight:500}.body{flex:1;display:flex;overflow:hidden}.menu-search{position:relative}.menu-search-field{display:flex;align-items:center;gap:.55rem;height:2.6rem;padding:0 .95rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);transition:border-color .15s,box-shadow .15s}.menu-search-field:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.menu-search-field input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-family:inherit;font-size:.92rem}.menu-search-field kbd{font-family:inherit;font-size:.7rem;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:.05rem .4rem;background:var(--surface-2);direction:ltr}.menu-search-pop{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:45;padding:.3rem;max-height:60vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.menu-search-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;text-align:start;padding:.55rem .7rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-family:inherit;font-size:.9rem;cursor:pointer}.menu-search-item small{color:var(--text-muted);font-size:.76rem;white-space:nowrap}.menu-search-item.hi{background:var(--primary-soft);color:var(--primary)}.menu-search-empty{padding:.9rem;text-align:center;color:var(--text-muted);font-size:.86rem}.user-menu{position:relative}.user-chip{display:flex;align-items:center;gap:.5rem;height:2.6rem;padding:0 .3rem 0 .6rem;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--text);font-family:inherit}.user-chip:hover,.user-chip[aria-expanded=true]{background:var(--surface-2);border-color:var(--border)}.user-chip .uname{font-size:.88rem;font-weight:500;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);flex-shrink:0}.user-pop{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:45;min-width:200px;padding:.3rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.user-pop-head{padding:.5rem .7rem .6rem;border-bottom:1px solid var(--border);margin-bottom:.3rem}.user-pop-head strong{display:block;font-size:.9rem}.user-pop-head small{color:var(--text-muted);font-size:.76rem;direction:ltr;unicode-bidi:plaintext}.user-pop button{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .7rem;text-align:start;cursor:pointer;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-family:inherit;font-size:.88rem}.user-pop button:hover{background:var(--surface-2)}.user-pop button.danger{color:var(--danger)}.user-pop button.danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-inline-end:1px solid var(--border);overflow-y:auto;padding:.9rem .75rem 1.5rem;transition:margin .2s ease}.sidebar .menu-search{display:none;margin-bottom:.75rem}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:.75rem;width:100%;text-align:start;position:relative;padding:.68rem .85rem;border-radius:var(--radius);color:var(--text);background:transparent;border:none;font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .14s,color .14s}.nav-link:hover{background:var(--surface-2)}.nav-link.active,.nav-group.has-active>.group-head{background:var(--primary-soft);color:var(--primary);font-weight:700}.nav-icon{display:inline-grid;place-items:center;width:1.5rem;flex-shrink:0}.group-head .caret,.nav-section-btn .caret{margin-inline-start:auto;color:var(--text-muted);display:inline-grid;transition:transform .18s}.caret.open{transform:rotate(180deg)}.nav-children{margin:.2rem 0 .4rem;padding-inline-start:.6rem}.nav-link.child{padding:.5rem .85rem;font-size:.88rem;font-weight:400;color:color-mix(in srgb,var(--text) 86%,var(--text-muted))}.nav-link.child.active{font-weight:700;color:var(--primary)}.nav-link.child.active:before{content:"";position:absolute;inset-inline-start:0;top:50%;transform:translateY(-50%);width:4px;height:62%;border-radius:4px;background:var(--primary)}.nav-section{font-size:.72rem;font-weight:700;color:var(--text-muted);padding:.55rem .75rem .2rem;letter-spacing:.03em}.nav-subgroup{margin-top:.1rem}.nav-section-btn{display:flex;align-items:center;gap:.55rem;width:100%;text-align:start;padding:.5rem .85rem;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:.84rem;font-weight:700;color:var(--text-muted);border-radius:var(--radius-sm);transition:background .14s,color .14s}.nav-section-btn:hover{background:var(--surface-2);color:var(--text)}.nav-section-links{padding-inline-start:.9rem}.group-head{font-weight:500}.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;font-size:.88rem;color:var(--text-muted)}.crumbs a{display:inline-flex;align-items:center;color:inherit;border-radius:6px}.crumbs a:hover,.crumbs .crumb-home{color:var(--primary)}.crumbs .sep{display:inline-grid;opacity:.6}.crumbs .current{color:var(--text);font-weight:700}.tree-root,.tree-children{list-style:none;margin:0;padding:0}.tree-children{margin-inline-start:1.4rem;border-inline-start:1px dashed var(--border);padding-inline-start:.6rem}.tree-row{display:flex;align-items:center;gap:.4rem;padding:.28rem .2rem;border-radius:var(--radius-sm)}.tree-row:hover{background:var(--surface-2)}.tree-toggle{width:1.5rem;height:1.5rem;border:none;background:transparent;cursor:pointer;color:var(--text-muted);font-size:.85rem;border-radius:4px}.tree-toggle.leaf{display:inline-grid;place-items:center;cursor:default}.tree-label{flex:1;cursor:pointer}.tree-badge{font-size:.68rem;background:var(--surface-2);color:var(--text-muted);padding:.1rem .5rem;border-radius:999px;margin-inline-start:.4rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1rem;flex-wrap:wrap}.tab{padding:.55rem 1rem;border:none;background:transparent;cursor:pointer;color:var(--text-muted);font-family:inherit;font-size:.9rem;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tab:hover{color:var(--text);background:var(--surface-2)}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.workspace{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.content{flex:1;min-height:0;overflow-y:auto;padding:1.1rem 1.5rem 1.75rem}.content.full{padding:0}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;flex-wrap:wrap;gap:.75rem}.page-head h1{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.head-icon{display:inline-grid;place-items:center;width:2.3rem;height:2.3rem;flex-shrink:0;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent)}.page-actions{display:flex;gap:.5rem;align-items:center}.search{min-height:var(--control-h);padding:.4rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.search:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.search-box{position:relative;display:inline-flex;align-items:center}.search-box .app-icon{position:absolute;inset-inline-start:.75rem;color:var(--text-muted);pointer-events:none}.search-box .search{padding-inline-start:2.3rem;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-md);margin-bottom:1.1rem}.filter-card{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap;padding:.9rem 1.1rem}.filter-card .filter-field{display:flex;flex-direction:column;gap:.2rem;min-width:150px}.filter-card .filter-field>span{font-size:.76rem;color:var(--text-muted)}.filter-card .spacer{flex:1}.tint-btn{display:inline-grid;place-items:center;width:var(--control-h);height:var(--control-h);flex-shrink:0;cursor:pointer;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--c, var(--primary)) 22%,transparent);background:color-mix(in srgb,var(--c, var(--primary)) 10%,transparent);color:var(--c, var(--primary));transition:background .15s}.tint-btn:hover:not(:disabled){background:color-mix(in srgb,var(--c, var(--primary)) 18%,transparent)}.tint-btn:disabled{opacity:.55;cursor:default}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem;display:flex;align-items:center;gap:.9rem;box-shadow:var(--shadow)}.stat-icon{width:44px;height:44px;border-radius:var(--radius);display:grid;place-items:center;font-size:1.3rem;background:var(--primary-soft);color:var(--primary)}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{color:var(--text-muted);font-size:.85rem}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.75rem 1rem;text-align:start;border-bottom:1px solid var(--border)}.data-table thead th{background:var(--surface-2);font-weight:700;font-size:.8rem;color:var(--text-muted);white-space:nowrap;position:sticky;top:0}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}.data-table tbody tr:last-child td{border-bottom:none}.actions-col{width:1%;white-space:nowrap}.muted{color:var(--text-muted)}.center{text-align:center}.left{text-align:start}.pager{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1rem;color:var(--text-muted);font-size:.86rem}.badge{display:inline-block;padding:.18rem .65rem;border-radius:999px;font-size:.78rem;font-weight:500}.badge.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.badge.muted{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.badge.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.badge.danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.badge.info{background:var(--primary-soft);color:var(--primary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.84rem;font-weight:500;color:var(--text-muted)}.field input,.field select,.field textarea,.cell-input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.field input:not([type=checkbox]):not([type=radio]),.field select{min-height:var(--control-h)}.field input:hover,.field select:hover,.field textarea:hover,.cell-input:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.field input:focus,.field select:focus,.field textarea:focus,.cell-input:focus,.search:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--text-muted) 75%,transparent)}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cell-input{width:100%}.switch{flex-direction:row;align-items:center;gap:.5rem}.req{color:var(--danger);margin-inline-start:2px}.err{color:var(--danger);font-size:.8rem}.form-actions{display:flex;gap:.6rem;margin-top:1.25rem}.lines-head{display:flex;justify-content:space-between;align-items:center}.balance-bar{margin-top:.75rem;padding:.6rem 1rem;border-radius:var(--radius-sm);text-align:center;font-weight:700}.balance-bar.ok{background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ok)}.balance-bar.bad{background:color-mix(in srgb,var(--danger) 11%,transparent);color:var(--danger)}.data-table tfoot td{background:var(--surface-2);font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:50;padding:1rem}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(640px,100%);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:2;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-head h3{margin:0;font-size:1.05rem}.modal-body{padding:1.25rem}.login-page{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(1200px 600px at 80% -10%,color-mix(in srgb,var(--primary) 60%,#0b2b4a),#0b5f9e);padding:1rem}.login-aura{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(500px 500px at 15% 85%,rgba(255,255,255,.1),transparent 60%),radial-gradient(400px 400px at 90% 20%,rgba(255,255,255,.08),transparent 60%)}.login-card{position:relative;z-index:1;background:var(--surface);padding:2.25rem 2rem;border-radius:1.25rem;width:min(400px,100%);box-shadow:0 30px 70px -20px #00000073,0 4px 12px #00000026;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);display:flex;flex-direction:column}.login-logo{width:56px;height:56px;margin:0 auto .75rem;border-radius:16px;font-size:1.6rem;box-shadow:0 8px 20px -6px color-mix(in srgb,var(--brand) 60%,transparent)}.login-card label{font-size:.82rem;color:var(--text-muted);margin:.85rem 0 .35rem;font-weight:500}.login-input{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);transition:border-color .15s,box-shadow .15s}.login-input:focus-within{border-color:var(--primary);box-shadow:var(--ring);background:var(--surface)}.login-input .li-ic{opacity:.55;font-size:.85rem}.login-input input{flex:1;padding:.65rem 0;border:none;background:transparent;color:var(--text);font-family:inherit;outline:none}.login-card .btn-primary.full{margin-top:1.25rem;padding:.75rem;font-size:.95rem}.login-brand{font-size:1.6rem;font-weight:800;text-align:center;letter-spacing:-.01em}.login-sub{text-align:center;color:var(--text-muted);margin:.3rem 0 1.25rem;font-size:.9rem}.login-hint{text-align:center;color:var(--text-muted);font-size:.78rem;margin-top:1rem;padding-top:.85rem;border-top:1px dashed var(--border)}.toasts{position:fixed;bottom:1.25rem;inset-inline-start:1.25rem;display:flex;flex-direction:column;gap:.5rem;z-index:100}.toast{padding:.7rem 1.1rem;border-radius:var(--radius);color:#fff;box-shadow:var(--shadow-lg);font-size:.9rem;font-weight:500;animation:slidein .24s cubic-bezier(.16,1,.3,1)}.toast.success{background:#15803d}.toast.error{background:#c5343a}@keyframes slidein{0%{transform:translateY(14px) scale(.96);opacity:0}to{transform:none;opacity:1}}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 35%,transparent);border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-muted) 55%,transparent);background-clip:content-box}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text-muted) 12%,transparent),transparent);animation:shimmer 1.3s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-line{height:.85rem;margin:.4rem 0}.card>h3:first-child,.card>h4:first-child{margin-top:0}.card h3{display:flex;align-items:center;gap:.5rem}.row-remove{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;flex-shrink:0;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;transition:.15s}.row-remove:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger);color:var(--danger)}.update-bar{position:fixed;top:.5rem;left:50%;transform:translate(-50%);z-index:120;max-width:calc(100vw - 1rem);display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem .45rem .9rem;border-radius:999px;background:var(--text);color:var(--surface);font-size:.85rem;box-shadow:var(--shadow-lg);white-space:nowrap}.update-bar .btn-mini{background:var(--primary);border-color:var(--primary);color:#fff}.update-bar .icon-btn{color:inherit;font-size:.9rem;min-width:1.6rem;height:1.6rem;padding:0}.sidebar-backdrop{display:none}@media (min-width: 769px){.shell.nav-collapsed .sidebar{margin-inline-start:calc(-1 * var(--sidebar-w))}}@media (max-width: 1100px){.clock-pill{display:none}}@media (max-width: 768px){:root{--topbar-h: 56px}.sidebar{position:fixed;inset-inline-start:0;top:var(--topbar-h);bottom:0;z-index:40;width:min(86vw,320px);transform:translate(100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.sidebar .menu-search{display:block}.sidebar-backdrop{display:block;position:fixed;inset:var(--topbar-h) 0 0 0;z-index:39;background:#0f172a73}.nav-link{padding:.75rem .85rem}.nav-link.child{padding:.6rem .85rem}.topbar{padding:0 .6rem;gap:.4rem}.topbar-brand{width:auto;flex-direction:row-reverse;justify-content:flex-end}.topbar-search,.topbar .fullscreen-btn{display:none}.topbar-right{gap:.1rem}.user-chip{padding:0 .15rem}.user-chip .uname,.user-chip>.app-icon{display:none}.content{padding:.85rem .75rem 1.25rem}.crumbs{margin-bottom:.7rem;font-size:.82rem}h1{font-size:1.15rem}.page-head{margin-bottom:.9rem}.page-actions{flex-wrap:wrap;width:100%}.page-actions .search,.page-actions .search-box,.page-actions input,.page-actions select{flex:1 1 130px;min-width:0}.filter-card{padding:.75rem;gap:.55rem}.filter-card .filter-field{flex:1 1 130px;min-width:0}.card{padding:.9rem;min-width:0;border-radius:var(--radius)}.table-wrap{border-radius:var(--radius)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.form-actions{flex-wrap:wrap}.data-table th,.data-table td{padding:.55rem .6rem}.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tab{white-space:nowrap}.modal-backdrop{padding:.5rem}.modal-head{padding:.8rem 1rem}.modal-body{padding:1rem}.toasts{inset-inline:.75rem;bottom:.75rem;align-items:stretch}.toast{text-align:center}}@media print{.topbar,.sidebar,.crumbs{display:none!important}.body,.shell,.workspace{display:block;height:auto;overflow:visible}.content{padding:0;overflow:visible}body{background:#fff}.data-table{font-size:11px}.data-table thead th{position:static}}
