@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(./poppins-devanagari-400-normal-CJDn6rn8.woff2)format("woff2"),url(./poppins-devanagari-400-normal-CqVvlrh5.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(./poppins-latin-ext-400-normal-by3JarPu.woff2)format("woff2"),url(./poppins-latin-ext-400-normal-DaBSavcJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(./poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(./poppins-latin-400-normal-BOb3E3N0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(./poppins-devanagari-500-normal-BIdkeU1p.woff2)format("woff2"),url(./poppins-devanagari-500-normal-DMPDjHtT.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(./poppins-latin-ext-500-normal-CK-6C4Hw.woff2)format("woff2"),url(./poppins-latin-ext-500-normal-CgAe2rWW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(./poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(./poppins-latin-500-normal-DGXqpDMm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-devanagari-600-normal-STEjXBNN.woff2)format("woff2"),url(./poppins-devanagari-600-normal-ClASKHrr.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-ext-600-normal-CAhIAdZj.woff2)format("woff2"),url(./poppins-latin-ext-600-normal-Df5ffKXP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(./poppins-latin-600-normal-BJdTmd5m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-devanagari-700-normal-O-jipLrW.woff2)format("woff2"),url(./poppins-devanagari-700-normal-fHs-vx92.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-ext-700-normal-cby-RkWa.woff2)format("woff2"),url(./poppins-latin-ext-700-normal-DctTR6Tg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(./poppins-latin-700-normal-BVuQR_eA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--primary:#194066;--primary-light:#2966a3;--primary-dark:#0f263d;--primary-foreground:#fff;--accent-orange:#ee7c2b;--gradient-primary:linear-gradient(135deg, #194066, #0f263d);--shadow-primary:0 4px 20px -4px #1940664d;--info:#0da2e7;--destructive:#ef4343;--navy-950:#0b1c2d;--navy-900:var(--primary-dark);--navy-800:var(--primary);--navy-700:var(--primary-light);--brand:var(--primary-light);--brand-strong:var(--primary);--brand-soft:#ebf2fa;--brand-on-dark:#82b8ed;--page:#f9f9fa;--surface:#fff;--surface-2:#f8f8f9;--surface-3:#f1f2f4;--border:#dcdfe4;--border-strong:#c5cad3;--grid:#e8eaed;--baseline:#c0c4ce;--text:#243342;--text-2:#525e6f;--text-3:#647287;--good:#0ca30c;--good-ink:#08700a;--good-soft:#e7f6e7;--warn:#ee7c2b;--warn-ink:#9c4b11;--warn-soft:#fef0e7;--idle:#c5cad3;--idle-ink:#525e6f;--idle-soft:#f1f2f4;--critical:var(--destructive);--radius-lg:16px;--radius:12px;--radius-sm:8px;--shadow-sm:0 2px 8px -2px #24334214;--shadow:0 2px 8px 0 #24334214, 0 6px 20px #2433420d;--shadow-lg:0 16px 40px #24334224;--gutter:clamp(16px, 3vw, 40px);--header-h:68px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--page);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}.app{flex-direction:column;min-height:100vh;display:flex}.app main{flex:1}.container{width:100%;max-width:1920px;padding-inline:var(--gutter);margin-inline:auto}.page{flex-direction:column;gap:24px;padding-bottom:48px;display:flex}.grid-split{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}@media (width>=1200px){.grid-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.screen-state{min-height:100vh;color:var(--text-2);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.screen-state-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.screen-state-title{color:var(--critical);font-weight:600}.spin{color:var(--brand);animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0;padding:20px}@media (width>=768px){.card{padding:24px 28px}}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;margin-bottom:20px;display:flex}.card-title{align-items:center;gap:12px;min-width:0;display:flex}.card-icon{background:var(--brand-soft);width:36px;height:36px;color:var(--brand-strong);border-radius:10px;flex:none;place-items:center;display:grid}.card-title h2{font-size:17px;font-weight:600;line-height:1.3}.card-title p{color:var(--text-3);margin-top:1px;font-size:13px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px 3px 7px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge-paid{background:var(--good-soft);color:var(--good-ink)}.badge-pending{background:var(--warn-soft);color:var(--warn-ink)}.badge-upcoming{background:var(--idle-soft);color:var(--idle-ink)}.swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.segmented{background:var(--surface-3);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #2433421a}.btn{color:var(--text);background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--baseline)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:var(--primary-foreground);background:var(--gradient-primary);box-shadow:var(--shadow-primary);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--gradient-primary);filter:brightness(1.12);border-color:#0000}.icon-btn{width:34px;height:34px;color:var(--text-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn.danger:hover:not(:disabled){color:#b62020;background:#ef434314}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.spin-inline{animation:.9s linear infinite spin}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.input,.select{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;width:100%;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.input:focus,.select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #1940661f}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.02em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 16px;font-size:12px;font-weight:600}.table th:first-child{border-left:1px solid var(--border);border-top-left-radius:10px;border-bottom-left-radius:10px}.table th:last-child{border-right:1px solid var(--border);border-top-right-radius:10px;border-bottom-right-radius:10px}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 16px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background .12s}.table tbody tr:hover td{background:var(--surface-2)}.table tfoot td{border-top:2px solid var(--border);padding:14px 16px;font-weight:600}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .nowrap{white-space:nowrap}.table .muted{color:var(--text-3)}.table .strong{font-weight:600}.empty{text-align:center;color:var(--text-3);padding:40px 16px!important}@media (width<=900px){.stack-table thead{display:none}.stack-table,.stack-table tbody,.stack-table tfoot{display:block}.stack-table tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:14px 0;display:grid}.stack-table tbody tr:last-child{border-bottom:0}.stack-table tbody tr:hover td{background:0 0}.stack-table td{text-align:left;display:block;border:0!important;padding:0!important}.stack-table .is-empty{display:none}.stack-table tr.empty-row{display:block}.stack-table tr.empty-row td{text-align:center;padding:32px 0!important}}@media print{body{background:#fff}.site-header,.no-print{display:none!important}.card{break-inside:avoid;box-shadow:none}}.login{--lg-fg:#243342;--lg-body:#576375;--lg-subtle:#7b899d;--lg-border:#dcdfe4;--lg-muted-bg:#f1f2f4;--lg-destructive:#ef4343;background:var(--surface);min-height:100vh;color:var(--lg-fg);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=1024px){.login{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}}.login-logos{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.login-logo-chip{min-width:76px;height:76px;color:var(--lg-fg);background:#fff;border-radius:16px;justify-content:center;align-items:center;padding:10px 14px;display:inline-flex;box-shadow:0 10px 30px #0a1a2959}.login-logo-chip .logo-img{max-width:180px;height:54px}.login-logo-x{color:#ffffff8c;font-size:20px}.login-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 10px;font-size:12px;font-weight:600;display:inline-flex}.login-eyebrow-dot{background:var(--accent-orange);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #ee7c2b40}.login-brand{isolation:isolate;color:#fff;background:radial-gradient(circle at 88% 8%, #2966a399, transparent 42%), radial-gradient(circle at 6% 96%, #ee7c2b29, transparent 38%), var(--gradient-primary);display:none;position:relative;overflow:hidden}.login-brand:before{content:"";z-index:-1;background-image:radial-gradient(#ffffff17 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 75%);mask-image:linear-gradient(#000 0%,#0000 75%)}.login-brand:after{content:"";z-index:-1;border:1px solid #ffffff14;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-220px;right:-200px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}@media (width>=1024px){.login-brand{display:flex}}.login-brand-inner{flex-direction:column;gap:clamp(28px,5vh,48px);width:100%;max-width:680px;padding:clamp(32px,5vw,64px);display:flex}.login-intro{margin-top:auto}.login-intro h1{letter-spacing:-.01em;max-width:18ch;margin-top:20px;font-size:clamp(30px,3vw,44px);font-weight:700;line-height:1.15}.login-highlight{background:linear-gradient(90deg,#ef8539,#f8ae59);color:#0000;-webkit-background-clip:text;background-clip:text}.login-intro p{color:#ffffffbd;max-width:52ch;margin-top:16px;font-size:15px;line-height:1.7}.login-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.login-features li{-webkit-backdrop-filter:blur(6px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:4px;padding:16px;transition:background .2s,border-color .2s;display:flex}.login-features li:hover{background:#ffffff17;border-color:#ffffff29}.login-feature-icon{color:#f69b5a;background:#ee7c2b24;border:1px solid #ee7c2b38;border-radius:10px;place-items:center;width:36px;height:36px;margin-bottom:8px;display:grid}.login-features strong{font-size:14px;font-weight:600}.login-features li>span:last-child{color:#ffffffa8;font-size:13px;line-height:1.5}.login-trust{color:#ffffff9e;align-items:center;gap:8px;font-size:13px;display:flex}.login-trust svg{color:#f69b5a;flex:none}@media (width>=1024px) and (height<=820px){.login-brand-inner{gap:24px;padding-block:40px}.login-features li>span:last-child{display:none}.login-feature-icon{margin-bottom:4px}.login-intro p{margin-top:12px}}.login-main{background:radial-gradient(600px 300px at 100% 0%, #2966a30d, transparent 70%), var(--surface);flex-direction:column;align-items:center;min-height:100vh;display:flex}.login-mobile-brand{isolation:isolate;color:#fff;background:radial-gradient(circle at 90% 0%, #2966a399, transparent 55%), var(--gradient-primary);flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:28px 20px 32px;display:flex;position:relative;overflow:hidden}.login-mobile-brand:before{content:"";z-index:-1;background-image:radial-gradient(#ffffff14 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.login-mobile-brand .login-logo-chip{border-radius:14px;min-width:60px;height:60px;padding:8px 10px}.login-mobile-brand .login-logo-chip .logo-img{height:42px}.login-mobile-brand p{color:#ffffffbf;font-size:14px;line-height:1.6}@media (width>=1024px){.login-mobile-brand{display:none}}.login-panel{width:100%;max-width:420px;margin:auto;padding:36px 20px 24px}@media (width>=480px){.login-panel{padding:48px 24px 32px}}.login-kicker{letter-spacing:.04em;color:var(--primary-light);font-size:13px;font-weight:600;display:inline-block}.login-heading h2{letter-spacing:-.01em;color:var(--lg-fg);margin-top:6px;font-size:28px;font-weight:700;line-height:1.25}.login-heading p{color:var(--lg-body);margin-top:8px;font-size:14px;line-height:1.6}.login-alert{color:var(--primary);background:#2966a314;border:1px solid #2966a338;border-radius:10px;align-items:flex-start;gap:10px;margin-top:24px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.login-alert svg{flex:none;margin-top:1px}.login-alert.is-error{color:#ad1f1f;background:#ef434314;border-color:#ef43434d}.login-panel form{flex-direction:column;gap:20px;margin-top:28px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-field label{color:var(--lg-fg);font-size:13px;font-weight:600}.login-input{align-items:center;display:flex;position:relative}.login-input>svg{color:var(--lg-subtle);pointer-events:none;transition:color .15s;position:absolute;left:14px}.login-input:focus-within>svg{color:var(--primary)}.login-input input{width:100%;height:50px;color:var(--lg-fg);background:var(--surface);border:1px solid var(--lg-border);border-radius:10px;padding:0 48px 0 44px;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s}.login-input input::placeholder{color:#98a4b3}.login-input input:hover:not(:disabled){border-color:#c0c4ce}.login-input input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #1940661f}.login-input input:disabled{background:var(--lg-muted-bg)}.login-reveal{width:38px;height:38px;color:var(--lg-subtle);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;transition:background .15s,color .15s;display:grid;position:absolute;right:6px}.login-reveal:hover{background:var(--lg-muted-bg);color:var(--primary)}.login-hint{color:#ae5413;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.login-submit{height:52px;color:var(--primary-foreground);background:var(--gradient-primary);box-shadow:var(--shadow-primary);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:10px;margin-top:4px;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex}.login-submit:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 8px 26px -6px #19406673}.login-submit:active:not(:disabled){transform:none}.login-submit:disabled{opacity:.8;cursor:progress}.login-submit-arrow{transition:transform .15s}.login-submit:hover:not(:disabled) .login-submit-arrow{transform:translate(3px)}.login-help{background:var(--lg-muted-bg);border:1px solid var(--lg-border);border-radius:12px;align-items:flex-start;gap:12px;margin-top:28px;padding:14px 16px;display:flex}.login-help svg{color:var(--primary-light);flex:none;margin-top:1px}.login-help strong{color:var(--lg-fg);font-size:13px;font-weight:600;display:block}.login-help span{color:var(--lg-body);margin-top:2px;font-size:13px;line-height:1.55;display:block}.login-overview{border-top:1px solid var(--lg-border);margin-top:36px;padding-top:28px}.login-overview h3{letter-spacing:.08em;text-transform:uppercase;color:var(--lg-subtle);font-size:12px;font-weight:600}.login-overview ul{grid-template-columns:minmax(0,1fr);gap:16px;margin:16px 0 0;padding:0;list-style:none;display:grid}@media (width>=560px){.login-overview ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}}.login-overview li{align-items:flex-start;gap:12px;display:flex}.login-overview-icon{width:34px;height:34px;color:var(--primary);background:#2966a314;border:1px solid #2966a324;border-radius:10px;flex:none;place-items:center;display:grid}.login-overview strong{color:var(--lg-fg);font-size:13px;font-weight:600;display:block}.login-overview li span span{color:var(--lg-body);margin-top:1px;font-size:12.5px;line-height:1.5;display:block}@media (width>=1024px){.login-overview{display:none}}@media (width>=1024px) and (height<=820px){.login-panel{padding-top:24px;padding-bottom:16px}.login-panel form{gap:16px;margin-top:22px}.login-help{margin-top:20px}.login-footer{padding:14px 20px}}.login-footer{text-align:center;width:100%;color:var(--lg-subtle);border-top:1px solid var(--lg-border);padding:20px;font-size:13px}.login-footer strong{color:var(--primary);font-weight:600}.site-header{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--border);background:#ffffffeb;position:sticky;top:0}.header-inner{min-height:var(--header-h);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}@media (width>=1024px){.header-inner{grid-template-columns:auto minmax(0,1fr) auto;gap:24px}}.header-brand{align-items:center;gap:16px;min-width:0;display:flex}.header-divider{background:var(--border-strong);flex:none;width:1px;height:28px}.logo-img{object-fit:contain;width:auto;max-width:180px;height:46px;display:block}.logo-fallback{align-items:center;gap:10px;min-width:0;display:inline-flex}.logo-mark{background:var(--gradient-primary);color:#fff;letter-spacing:.02em;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.logo-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.header-nav{display:none}@media (width>=1024px){.header-nav{background:var(--surface-3);border:1px solid var(--border);border-radius:12px;justify-self:center;gap:4px;padding:4px;display:flex}}.header-nav a{color:var(--text-2);border-radius:8px;padding:6px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.header-nav a:hover{color:var(--text)}.header-nav a.is-active{background:var(--surface);color:var(--primary);font-weight:600;box-shadow:0 1px 3px #2433421a}.header-actions{justify-self:end;align-items:center;gap:12px;min-width:0;display:flex}.header-admin{white-space:nowrap;color:var(--primary-foreground);background:var(--gradient-primary);box-shadow:var(--shadow-primary);border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:filter .15s,transform .15s;display:inline-flex}.header-admin:hover{filter:brightness(1.12);transform:translateY(-1px)}.header-admin.is-secondary{color:var(--primary);background:var(--brand-soft);box-shadow:none;border:1px solid #2966a333}.header-admin.is-secondary:hover{filter:none;background:#deebf7}@media (width<=640px){.header-admin span{display:none}.header-admin{padding:8px}}.header-nav-spacer{display:none}@media (width>=1024px){.header-nav-spacer{display:block}}.header-user{align-items:center;gap:10px;min-width:0;display:flex}.header-avatar{width:34px;height:34px;color:var(--brand-strong);background:var(--brand-soft);border:1px solid #2966a333;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.header-user-name{white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:14px;font-weight:600;overflow:hidden}.header-logout{color:var(--text-2);background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.header-logout:hover{color:#b62020;background:#ef43430f;border-color:#ef434359}@media (width<=1280px){.header-updated{display:none!important}}@media (width<=640px){.header-user-name,.header-logout span{display:none}.header-logout{padding:8px}}.header-updated{color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:inline-flex}@media (width<=640px){.header-updated{display:none}.logo-img{max-width:130px;height:32px}.logo-name{font-size:14px}.header-brand{gap:12px}}@media (width<=480px){.logo-fallback .logo-name{display:none}}.hero{isolation:isolate;color:#fff;background:radial-gradient(900px 420px at 88% -12%, #2966a399, transparent 62%), radial-gradient(700px 320px at -5% 115%, #ee7c2b24, transparent 60%), var(--gradient-primary);padding:40px 0 104px;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#0000 85%);mask-image:linear-gradient(#000000e6,#0000 85%)}@media (width>=768px){.hero{padding:52px 0 112px}}.hero-inner{grid-template-columns:minmax(0,1fr);align-items:center;gap:28px;display:grid}@media (width>=1100px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(360px,420px);gap:48px}}.hero-meta{color:#ffffffb8;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;display:flex}.hero-status{color:#fff;background:#ffffff1a;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:7px;padding:4px 12px 4px 10px;font-weight:600;display:inline-flex}.hero-status-dot{background:#94a3b8;border-radius:50%;width:8px;height:8px}.hero-status.is-active .hero-status-dot{background:#34d058;box-shadow:0 0 0 3px #34d05840}.hero-updated{display:none}@media (width<=1280px){.hero-updated{display:inline}}.hero h1{letter-spacing:-.01em;margin-top:16px;font-size:clamp(26px,3.2vw,38px);font-weight:700;line-height:1.15}.hero-parties{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:18px;display:flex}.party{background:#ffffff12;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;min-width:0;padding:8px 14px;display:flex}.party-role{letter-spacing:.06em;text-transform:uppercase;color:#fff9;font-size:11px;font-weight:600}.party-name{font-size:15px;font-weight:600}.party-link{color:#fffc;background:#ffffff1a;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.hero-scope{color:#ffffffbf;max-width:76ch;margin-top:18px;font-size:15px;line-height:1.6}.hero-facts{background:#ffffff1f;border:1px solid #ffffff1f;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:24px 0 0;display:grid;overflow:hidden}@media (width>=900px){.hero-facts{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}}.hero-fact{background:#0a1a2966;min-width:0;padding:14px 16px}.hero-fact dt{color:#ffffff9e;align-items:center;gap:6px;font-size:12px;display:flex}.hero-fact dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:16px;font-weight:600}.hero-note{color:#ffffff9e;margin-top:12px;font-size:13px}.hero-panel{-webkit-backdrop-filter:blur(10px);background:#ffffff12;border:1px solid #ffffff24;border-radius:20px;padding:24px;box-shadow:0 20px 50px #00000040}.hero-panel-top{align-items:center;gap:24px;display:flex}.ring{flex:none;position:relative}.ring svg{width:100%;height:100%;display:block}.ring-track{fill:none;stroke:#ffffff1f}.ring-fill{fill:none;stroke:var(--brand-on-dark);stroke-linecap:round;transition:stroke-dashoffset .9s}.ring.is-warning .ring-fill{stroke:var(--warn)}.ring.is-critical .ring-fill{stroke:#f26969}.ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center strong{letter-spacing:-.01em;font-size:26px;font-weight:700;line-height:1.1}.ring-center span{color:#ffffffa6;font-size:12px}.hero-panel-stats{flex-direction:column;gap:2px;min-width:0;display:flex}.hp-label{color:#ffffffb3;font-size:13px}.hp-value{letter-spacing:-.01em;font-size:30px;font-weight:700;line-height:1.15}.hp-value small{color:#ffffffa6;letter-spacing:0;font-size:15px;font-weight:500}.hp-sub{color:#ffffff9e;font-size:12px}.hero-timeline{border-top:1px solid #ffffff1f;flex-direction:column;gap:8px;margin-top:22px;padding-top:20px;display:flex}.hero-timeline-head{color:#ffffffb8;justify-content:space-between;gap:12px;font-size:13px;display:flex}.hero-timeline-head strong{color:#fff}.hero-timeline-bar{background:#ffffff1f;border-radius:999px;height:8px;overflow:hidden}.hero-timeline-bar>div{background:#ffffffb8;border-radius:999px;height:100%;transition:width .9s}@media (width>=640px) and (width<=1099px){.hero-panel{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:32px;display:grid}.hero-timeline{border-top:0;border-left:1px solid #ffffff1f;margin-top:0;padding-top:0;padding-left:32px}}@media (width<=420px){.hero-panel{padding:20px}.hero-panel-top{gap:16px}.ring{width:120px!important;height:120px!important}.ring-center strong{font-size:22px}.hp-value{font-size:24px}}.kpis{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:-64px;display:grid;position:relative}@media (width>=1200px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=560px){.kpis{gap:12px}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0;padding:20px 22px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.kpi:after{content:"";background:var(--kpi-accent);height:3px;position:absolute;inset:0 0 auto}.kpi:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.kpi.tone-primary{--kpi-accent:var(--primary-light);--kpi-soft:var(--brand-soft);--kpi-ink:var(--primary)}.kpi.tone-info{--kpi-accent:var(--info);--kpi-soft:#e2f5fd;--kpi-ink:#085f87}.kpi.tone-green{--kpi-accent:var(--good);--kpi-soft:var(--good-soft);--kpi-ink:var(--good-ink)}.kpi.tone-warning{--kpi-accent:var(--warn);--kpi-soft:var(--warn-soft);--kpi-ink:var(--warn-ink)}.kpi.tone-red{--kpi-accent:var(--destructive);--kpi-soft:#fdecec;--kpi-ink:#ad1f1f}.kpi-head{align-items:center;gap:12px;display:flex}.kpi-icon{background:var(--kpi-soft);width:40px;height:40px;color:var(--kpi-ink);border-radius:12px;flex:none;place-items:center;display:grid}.kpi-label{color:var(--text-2);font-size:14px;font-weight:500}.kpi-value{letter-spacing:-.01em;overflow-wrap:anywhere;margin-top:16px;font-size:clamp(24px,2.2vw,30px);font-weight:700;line-height:1.15}.kpi-value small{letter-spacing:0;color:var(--text-3);margin-left:6px;font-size:15px;font-weight:500}.kpi-sub{color:var(--text-3);margin-top:6px;font-size:13px}@media (width<=560px){.kpi{padding:16px}.kpi-head{flex-direction:column;align-items:flex-start;gap:10px}.kpi-icon{border-radius:10px;width:34px;height:34px}.kpi-label{font-size:13px}.kpi-value{margin-top:8px;font-size:20px}.kpi-value small{margin-left:4px;font-size:13px}.kpi-sub{font-size:12px}}.projects-card{flex-direction:column;display:flex}.composition{border-radius:6px;gap:2px;height:12px;margin-bottom:12px;display:flex;overflow:hidden}.composition-seg{flex-basis:0;min-width:4px;display:block}.project-list{margin:0;padding:0;list-style:none}.project-list li+li{border-top:1px solid var(--border)}.project-row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;width:calc(100% + 20px);margin:0 -10px;padding:14px 10px;transition:background .15s;display:grid}.project-row:hover{background:var(--surface-2)}.project-row .swatch{border-radius:4px;align-self:start;width:12px;height:12px;margin-top:5px}.project-info{flex-direction:column;min-width:0;display:flex}.project-name{font-size:15px;font-weight:600}.project-desc{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.project-bar{background:var(--surface-3);border-radius:999px;height:6px;margin-top:10px;display:block;overflow:hidden}.project-bar span{border-radius:999px;height:100%;transition:width .6s;display:block}.project-figures{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.project-hours{letter-spacing:-.01em;white-space:nowrap;font-size:18px;font-weight:700}.project-hours small{color:var(--text-3);font-size:13px;font-weight:500}.project-share{color:var(--text-3);white-space:nowrap;font-size:12px}.project-chevron{color:var(--text-3);opacity:0;transition:opacity .15s,transform .15s;transform:translate(-4px)}.project-row:hover .project-chevron,.project-row:focus-visible .project-chevron{opacity:1;transform:none}.projects-hint{color:var(--text-3);margin-top:auto;padding-top:12px;font-size:12px}@media (width<=560px){.project-row{grid-template-columns:auto minmax(0,1fr) auto;gap:12px}.project-chevron{display:none}.project-desc{white-space:normal}}.legend{color:var(--text-2);flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;padding:0;font-size:13px;list-style:none;display:flex}.legend li{align-items:center;gap:8px;display:inline-flex}.chart{width:100%;min-height:300px;position:relative}.chart svg{display:block;overflow:visible}.chart .grid-line{stroke:var(--grid);stroke-width:1px;shape-rendering:crispedges}.chart .axis-line{stroke:var(--baseline);stroke-width:1px;shape-rendering:crispedges}.chart .tick{fill:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.chart .x-label{fill:var(--text-3);font-size:12px}.chart .x-label.is-current{fill:var(--text);font-weight:700}.chart .x-year{fill:var(--text-3);opacity:.8;font-size:11px}.chart .bar-value{fill:var(--text-2);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.chart .hover-band{fill:var(--surface-3)}.chart .hit{fill:#0000;outline:none}.chart .hit:focus-visible{stroke:var(--brand);stroke-width:2px}.chart-tooltip{pointer-events:none;z-index:5;background:var(--surface);border:1px solid var(--border);min-width:200px;max-width:260px;box-shadow:var(--shadow-lg);border-radius:12px;padding:12px 14px;font-size:12px;position:absolute}.chart-tooltip.is-left{transform:translate(-100%)}.tt-title{color:var(--text-3)}.tt-value{letter-spacing:-.01em;margin:2px 0 8px;font-size:18px;font-weight:700}.tt-row{color:var(--text-2);grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;padding:2px 0;display:grid}.tt-key{border-radius:2px;width:12px;height:3px}.tt-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tt-row strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.tt-empty{color:var(--text-3)}.monthly-table th:not(:first-child){white-space:normal;min-width:90px}.collection{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:16px;margin-bottom:4px;padding:20px;display:flex}.collection-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.collection-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.collection-stat+.collection-stat{border-left:1px solid var(--border);padding-left:16px}.cs-label{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.collection-stat.is-paid .cs-label{color:var(--good-ink)}.collection-stat.is-pending .cs-label{color:var(--warn-ink)}.collection-stat.is-upcoming .cs-label{color:var(--idle-ink)}.cs-value{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:clamp(18px,1.8vw,24px);font-weight:700}.cs-sub{color:var(--text-3);font-size:12px}.collection-bar{border-radius:999px;gap:2px;height:10px;display:flex;overflow:hidden}.collection-bar span{flex-basis:0;min-width:4px}.collection-bar .is-paid{background:var(--good)}.collection-bar .is-pending{background:var(--warn)}.collection-bar .is-upcoming{background:var(--idle)}@media (width<=640px){.collection{padding:16px}.collection-stats{grid-template-columns:minmax(0,1fr);gap:12px}.collection-stat{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:12px;display:grid}.collection-stat+.collection-stat{border-left:0;border-top:1px solid var(--border);padding-top:12px;padding-left:0}.cs-value{grid-area:1/2/span 2;align-self:center;font-size:18px}}.timeline{--node:34px;--tag:30px;padding-top:var(--tag);margin:28px 0 24px;position:relative}.timeline-track{top:calc(var(--tag) + var(--node) / 2 - 2px);left:calc(100% / var(--n) / 2);right:calc(100% / var(--n) / 2);background:var(--surface-3);border-radius:999px;height:4px;position:absolute}.timeline-fill{height:100%;width:calc(var(--progress) * 100%);border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--primary-light))}.timeline-today{left:calc(var(--progress) * 100%);flex-direction:column;align-items:center;display:flex;position:absolute;bottom:50%;transform:translate(-50%)}.timeline-today:after{content:"";background:var(--navy-800);width:2px;height:14px}.timeline-today span{color:#fff;background:var(--navy-800);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}.timeline-steps{grid-template-columns:repeat(var(--n), minmax(0, 1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.step{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:0 4px;display:flex}.step-node{width:var(--node);height:var(--node);background:var(--surface);border:2px solid var(--idle);color:var(--idle-ink);box-shadow:0 0 0 4px var(--surface);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.step.is-paid .step-node{background:var(--good);border-color:var(--good);color:#fff}.step.is-pending .step-node{background:var(--warn-soft);border-color:var(--warn);color:var(--warn-ink)}.step-text,.step-meta{flex-direction:column;min-width:0;display:flex}.step-title{font-size:13px;font-weight:600}.step-date{color:var(--text-3);font-size:12px}.step-meta{margin-top:4px}.step-amount{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.step-hours{color:var(--text-3);font-size:12px}@media (width<=760px){.timeline{display:none}}@media (width<=900px){.invoices-table tbody tr{grid-template-areas:"no status""ref ref""desc amount""date hours""paid paid";align-items:center}.invoices-table .c-no{color:var(--text);grid-area:no;font-weight:600}.invoices-table .c-no:before{content:"Invoice "}.invoices-table .c-ref{color:var(--text-3);grid-area:ref;font-size:12px}.invoices-table .c-status{grid-area:status;justify-self:end}.invoices-table .c-desc{color:var(--text-2);grid-area:desc}.invoices-table .c-amount{text-align:right;grid-area:amount}.invoices-table .c-date{color:var(--text-3);grid-area:date;font-size:12px}.invoices-table .c-hours{color:var(--text-3);text-align:right;grid-area:hours;font-size:12px}.invoices-table .c-hours:after{content:" hrs"}.invoices-table .c-paid{grid-area:paid;margin-top:2px;font-size:12px}.invoices-table .c-paid:before{content:"Paid on "}.invoices-table tfoot tr{border-top:2px solid var(--border);border-bottom:0;grid-template-columns:minmax(0,1fr) auto auto;gap:0 16px}.invoices-table tfoot .c-total,.invoices-table tfoot .c-hours,.invoices-table tfoot .c-amount{font-size:inherit;color:var(--text);grid-area:auto}}.worklog-toolbar{grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) minmax(140px,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;display:grid}.search{display:block;position:relative}.search svg{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .input{padding-left:38px}.worklog-summary{color:var(--text-2);white-space:nowrap;justify-content:flex-end;align-items:center;gap:12px;font-size:14px;display:flex}.worklog-summary strong{color:var(--text);font-weight:600}.link-btn{color:var(--brand-strong);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.link-btn:hover{text-decoration:underline}.project-chip{align-items:center;gap:8px;font-weight:500;display:inline-flex}.worklog-table .c-desc{color:var(--text-2)}.worklog-more{justify-content:center;padding-top:20px;display:flex}@media (width<=1100px){.worklog-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.search{grid-column:1/-1}.worklog-summary{grid-column:1/-1;justify-content:space-between}}@media (width<=900px){.worklog-table tr{grid-template-areas:"project hours""desc desc""date date"}.worklog-table .c-project{grid-area:project}.worklog-table .c-hours{text-align:right;grid-area:hours}.worklog-table .c-hours:after{content:" hrs";color:var(--text-3);font-weight:400}.worklog-table .c-desc{grid-area:desc}.worklog-table .c-date{color:var(--text-3);grid-area:date;margin-top:2px;font-size:12px}}.site-footer{background:var(--primary-dark);color:#ffffffa6;font-size:13px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-block:22px;display:flex}.footer-powered strong{color:#fff;font-weight:600}@media (width<=640px){.footer-inner{text-align:center;flex-direction:column}}.editor-page{padding-top:28px;padding-bottom:0}.editor-back{color:var(--primary-light);align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.editor-back:hover{color:var(--primary);text-decoration:underline}.editor-top h1{color:var(--text);margin-top:10px;font-size:clamp(22px,2.4vw,28px);font-weight:700}.editor-top p{max-width:80ch;color:var(--text-2);margin-top:6px;font-size:14px}.editor-tabs{border-bottom:1px solid var(--border);scrollbar-width:thin;gap:4px;margin-top:24px;display:flex;overflow-x:auto}.editor-tabs button{color:var(--text-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.editor-tabs button:hover{color:var(--text)}.editor-tabs button.is-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.editor-tab-count{text-align:center;min-width:22px;color:var(--text-2);background:var(--surface-3);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.editor-tabs button.is-active .editor-tab-count{color:var(--primary);background:var(--brand-soft)}.editor-notice{border-radius:10px;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;font-size:14px;display:flex}.editor-notice svg{flex:none;margin-top:1px}.editor-notice.is-success{color:var(--good-ink);background:var(--good-soft);border:1px solid #248f2440}.editor-notice.is-error{color:#ad1f1f;background:#ef434314;border:1px solid #ef43434d}.editor-errors{color:var(--warn-ink);background:var(--warn-soft);border:1px solid #ee7c2b4d;border-radius:10px;margin-top:16px;padding:12px 16px;font-size:13px}.editor-errors summary{cursor:pointer;align-items:center;gap:8px;font-weight:600;display:flex}.editor-errors ul{margin:8px 0 0;padding-left:24px}.editor-errors li+li{margin-top:2px}.editor-card{margin-top:16px}.editor-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.editor-section-head h2{font-size:17px;font-weight:600}.editor-section-head p{color:var(--text-3);margin-top:2px;font-size:13px}.editor-section-gap{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.editor-help{color:var(--text-2);margin:0 0 16px;font-size:13px}.editor-help:last-child{margin:16px 0 0}.editor-add{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:12px;margin-bottom:20px;padding:16px}.editor-add-title{color:var(--primary);margin-bottom:12px;font-size:13px;font-weight:600;display:block}.editor-add-grid{align-items:end;gap:12px;display:grid}.worklog-add{grid-template-columns:160px minmax(160px,1fr) 110px minmax(200px,2fr) auto}.project-add{grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) minmax(200px,2fr) auto}@media (width<=1100px){.worklog-add,.project-add{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-field-wide,.editor-add-btn{grid-column:1/-1}}@media (width<=560px){.worklog-add,.project-add{grid-template-columns:minmax(0,1fr)}}.editor-field{flex-direction:column;gap:6px;min-width:0;display:flex}.editor-field>span{color:var(--text-2);font-size:12px;font-weight:600}.editor-add-btn{height:41px}.editor-inline-error{color:#b62020;margin-top:10px;font-size:13px}.editor-list-head{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.editor-filter{width:auto;min-width:170px}.editor-table td{padding:8px 10px}.editor-table th{padding:10px}.editor-table .input,.editor-table .select{border-radius:8px;padding:7px 10px;font-size:13px}.editor-table .select{background-position:right 10px center;padding-right:32px}.editor-table .input:disabled{color:var(--text-3);background:var(--surface-3)}.editor-table .col-date{width:160px;min-width:150px}.editor-table .col-project{width:260px;min-width:200px}.editor-table .col-hours{width:100px;min-width:90px}.editor-table .col-desc{min-width:200px}.editor-table .col-status{width:130px;min-width:120px}.editor-table .col-ref{width:160px;min-width:140px}.editor-table .col-name{min-width:200px}.editor-table .col-id{white-space:nowrap;width:1%}.editor-table .col-action{width:1%}.editor-table td:not(.col-desc):not(.col-name) input:not([type=date]):not([type=number]){min-width:180px}.status-select.is-paid{color:var(--good-ink);font-weight:600}.status-select.is-pending{color:var(--warn-ink);font-weight:600}.project-id{align-items:center;gap:8px;display:inline-flex}.project-id code{color:var(--text-2);background:var(--surface-3);border-radius:6px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.editor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}@media (width>=1100px){.editor-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.editor-field-full{grid-column:1/-1}@media (width<=560px){.editor-form-grid{grid-template-columns:minmax(0,1fr)}}.editor-textarea{resize:vertical;min-height:72px;line-height:1.5}.editor-parties{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.editor-party{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;margin:0;padding:16px;display:flex}.editor-party legend{color:var(--primary);padding:0 6px;font-size:13px;font-weight:600}.editor-json{white-space:pre;resize:vertical;tab-size:2;min-height:480px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;display:block}.editor-json.has-error,.editor-json.has-error:focus{border-color:#ef4343;box-shadow:0 0 0 3px #ef43431f}.editor-json-status{color:var(--good-ink);margin-top:8px;font-size:13px}.editor-json-status.is-error{color:#b62020}.editor-savebar{z-index:20;margin:24px calc(-1 * var(--gutter)) 0;padding:14px var(--gutter);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--border);background:#fffffff2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 20px #2433420f}.editor-savebar-status{color:var(--text-3);align-items:center;gap:8px;font-size:14px;display:inline-flex}.editor-savebar.is-dirty .editor-savebar-status{color:var(--warn-ink);font-weight:600}.editor-savebar.is-dirty .editor-savebar-status:before{content:"";background:var(--warn);border-radius:50%;width:8px;height:8px}.editor-savebar-actions{gap:8px;display:flex}
