@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap";.toast-stack[data-v-d513fb0a]{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));z-index:200;pointer-events:none;flex-direction:column;gap:.65rem;width:min(420px,100vw - 2rem);display:flex;position:fixed}.toast[data-v-d513fb0a]{border:1px solid var(--border-strong);background:var(--toast-bg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;border-radius:14px;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;display:flex}.toast-error[data-v-d513fb0a]{border-color:var(--danger-border);background:var(--toast-error-bg)}.toast-success[data-v-d513fb0a]{border-color:var(--badge-success-border);background:var(--toast-success-bg)}.toast-icon[data-v-d513fb0a]{flex-shrink:0;width:20px;height:20px;margin-top:.1rem}.toast-error .toast-icon[data-v-d513fb0a]{color:var(--danger-text)}.toast-success .toast-icon[data-v-d513fb0a]{color:var(--success-text)}.toast-icon svg[data-v-d513fb0a]{width:20px;height:20px}.toast-message[data-v-d513fb0a]{min-width:0;color:var(--text);word-break:break-word;flex:1;font-size:.9rem;line-height:1.45}.toast-close[data-v-d513fb0a]{background:var(--inset-bg-strong);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.toast-close[data-v-d513fb0a]:hover{background:var(--surface-hover);color:var(--text)}.toast-close svg[data-v-d513fb0a]{width:14px;height:14px}.toast-enter-active[data-v-d513fb0a],.toast-leave-active[data-v-d513fb0a]{transition:all .22s}.toast-enter-from[data-v-d513fb0a],.toast-leave-to[data-v-d513fb0a]{opacity:0;transform:translate(16px)}@media (width<=640px){.toast-stack[data-v-d513fb0a]{top:auto;bottom:max(5.5rem, calc(1rem + env(safe-area-inset-bottom)));left:max(1rem, env(safe-area-inset-left));right:max(1rem, env(safe-area-inset-right));width:auto}.toast-enter-from[data-v-d513fb0a],.toast-leave-to[data-v-d513fb0a]{transform:translateY(12px)}}:root{--bg:#0b1110;--bg-elevated:#101816;--surface:#15201d;--surface-2:#1b2a26;--surface-hover:#223530;--border:#94b4a824;--border-strong:#94b4a847;--text:#eef5f1;--text-muted:#8fa59c;--text-soft:#b7c9c1;--primary:#2dd4a0;--primary-hover:#22b987;--primary-soft:#2dd4a01f;--accent:#f0b429;--accent-soft:#f0b4291f;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--danger-soft:#f871711f;--danger-text:#fecaca;--radius:14px;--radius-sm:10px;--shadow:0 18px 40px #00000059;--font-display:"Sora", system-ui, sans-serif;--font-body:"Figtree", system-ui, sans-serif;--card-bg:linear-gradient(180deg, #1b2a26eb, #15201df5);--card-inset:0 1px 0 #ffffff08 inset;--input-bg:#080e0da6;--input-bg-focus:#080e0dd9;--table-head-bg:#080e0d59;--row-card-bg:#080e0d47;--modal-bg:linear-gradient(180deg, #1d2d28 0%, #15201d 100%);--overlay:#040807b8;--sidebar-bg:linear-gradient(180deg, #15201dfa, #0c1210fa);--topbar-bg:linear-gradient(180deg, #0b1110f0, #0b1110c7 70%, transparent);--menu-btn-bg:#15201de6;--chart-grid:#94b4a814;--body-glow-a:#2dd4a014;--body-glow-b:#f0b4290d;--on-primary:#06241a;--primary-gradient:linear-gradient(135deg, #3de0ad 0%, #1fbf8a 100%);--primary-gradient-hover:linear-gradient(135deg, #4aebb8 0%, #22c994 100%);--primary-shadow:0 8px 24px #2dd4a040;--focus-border:#2dd4a08c;--hover-tint:#2dd4a00f;--row-hover:#2dd4a00a;--inset-bg:#080e0d59;--inset-bg-strong:#080e0d73;--danger-border:#f8717159;--danger-hover:#f8717133;--success-text:#6ee7b7;--warning-text:#fcd34d;--info-text:#93c5fd;--neutral-text:#cbd5e1;--chart-paid:#2dd4a0;--chart-unpaid:#f87171;--toast-bg:linear-gradient(180deg, #1d2d28fa, #121c19fa);--toast-error-bg:linear-gradient(180deg, #2a1818fa, #1c1010fa);--toast-success-bg:linear-gradient(180deg, #142620fa, #0e1c18fa);--brand-panel:linear-gradient(160deg, #1d2d288c, #0b111033);--badge-success-bg:#34d3991f;--badge-success-text:#6ee7b7;--badge-success-border:#34d39940;--badge-info-bg:#60a5fa1f;--badge-info-text:#93c5fd;--badge-info-border:#60a5fa40;--badge-warning-bg:#fbbf241f;--badge-warning-text:#fcd34d;--badge-warning-border:#fbbf2440;--badge-neutral-bg:#94a3b81f;--badge-neutral-text:#cbd5e1;--badge-neutral-border:#94a3b840;--badge-danger-bg:#f871711f;--badge-danger-text:#fca5a5;--badge-danger-border:#f8717140;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.5}html[data-theme=light]{--bg:#fff;--bg-elevated:#fff;--surface:#fff;--surface-2:#f3faf6;--surface-hover:#e5f6ee;--border:#0c8a6629;--border-strong:#0c8a6647;--text:#12211c;--text-muted:#4f675e;--text-soft:#2f433c;--primary:#0c8a66;--primary-hover:#0a7356;--primary-soft:#0c8a661f;--accent:#0c8a66;--accent-soft:#0c8a661f;--success:#0c8a66;--warning:#0a7356;--danger:#c43b3b;--danger-soft:#c43b3b1f;--danger-text:#9f1d1d;--shadow:0 12px 28px #0c8a6614;--card-bg:#fff;--card-inset:0 1px 0 #fff inset;--input-bg:#fff;--input-bg-focus:#fff;--table-head-bg:#0c8a660f;--row-card-bg:#fff;--modal-bg:#fff;--overlay:#10201c6b;--sidebar-bg:#fff;--topbar-bg:linear-gradient(180deg, #fffffff5, #ffffffc7 70%, transparent);--menu-btn-bg:#fff;--chart-grid:#0c8a661a;--body-glow-a:#0c8a6614;--body-glow-b:#17b8880f;--on-primary:#fff;--primary-gradient:linear-gradient(135deg, #17b888 0%, #0c8a66 100%);--primary-gradient-hover:linear-gradient(135deg, #1cc996 0%, #0a7356 100%);--primary-shadow:0 8px 20px #0c8a6638;--focus-border:#0c8a668c;--hover-tint:#0c8a661a;--row-hover:#0c8a660f;--inset-bg:#f3faf6;--inset-bg-strong:#e5f6ee;--danger-border:#c43b3b52;--danger-hover:#c43b3b29;--success-text:#0a7356;--warning-text:#0e5c46;--info-text:#0c8a66;--neutral-text:#3d5c52;--chart-paid:#0c8a66;--chart-unpaid:#c43b3b;--toast-bg:#fff;--toast-error-bg:#fff6f6;--toast-success-bg:#f1faf6;--brand-panel:linear-gradient(160deg, #ffffffeb, #f3faf6b3);--badge-success-bg:#0c8a6624;--badge-success-text:#0a7356;--badge-success-border:#0c8a6652;--badge-info-bg:#0c8a661a;--badge-info-text:#0c8a66;--badge-info-border:#0c8a6642;--badge-warning-bg:#0e5c461a;--badge-warning-text:#0e5c46;--badge-warning-border:#0e5c463d;--badge-neutral-bg:#3d5c5214;--badge-neutral-text:#3d5c52;--badge-neutral-border:#3d5c5233;--badge-danger-bg:#c43b3b1a;--badge-danger-text:#9f1d1d;--badge-danger-border:#c43b3b47;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(1200px 600px at 10% -10%, var(--body-glow-a), transparent 55%), radial-gradient(900px 500px at 100% 0%, var(--body-glow-b), transparent 50%), var(--bg);min-height:100dvh;overflow-x:hidden}#app{min-height:100vh}a{color:var(--primary);text-decoration:none;transition:color .15s}a:hover{color:var(--primary-hover)}button,input,select,textarea{font:inherit}.btn{cursor:pointer;letter-spacing:.01em;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.2rem;font-size:.925rem;font-weight:600;transition:transform .15s,background .15s,box-shadow .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary-gradient);color:var(--on-primary);box-shadow:var(--primary-shadow)}.btn-primary:hover:not(:disabled){background:var(--primary-gradient-hover)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn-danger{background:var(--danger-soft);color:var(--danger-text);border:1px solid var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-sm{padding:.4rem .85rem;font-size:.8rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-inset), var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.35rem}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form-group label{letter-spacing:.02em;color:var(--text-soft);font-size:.8rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);width:100%;max-width:100%;padding:.75rem .9rem;font-size:1rem;transition:border-color .15s,box-shadow .15s,background .15s}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--border-strong)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--primary-soft);background:var(--input-bg-focus);outline:none}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238fa59c' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .9rem center;background-repeat:no-repeat;padding-right:2.2rem}.table-wrap{border-radius:var(--radius);-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:640px}.table-wrap.table-fit table{width:max-content;min-width:100%}.table-wrap th,.table-wrap td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.7rem .75rem}.table-wrap.table-fit th:last-child{text-align:right}.table-wrap th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--table-head-bg);white-space:nowrap;font-size:.72rem;font-weight:700}.table-wrap tbody tr{transition:background .15s}.table-wrap tbody tr:hover{background:var(--row-hover)}.table-wrap tbody tr:last-child td{border-bottom:none}.table-wrap td.actions,.table-wrap td[data-label=""]{width:1%;padding-right:.65rem}.row-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.icon-btn{border:1px solid var(--border-strong);background:var(--surface-2);width:2.25rem;height:2.25rem;color:var(--text-soft);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.icon-btn:active{transform:translateY(1px)}.icon-btn:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.icon-btn svg{stroke-linecap:round;stroke-linejoin:round;width:1.05rem;height:1.05rem}.icon-btn-danger{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.icon-btn-danger:hover{background:var(--danger-hover);color:var(--danger-text)}.badge{letter-spacing:.03em;text-transform:capitalize;border:1px solid #0000;border-radius:999px;align-items:center;padding:.28rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-available,.badge-active{background:var(--badge-success-bg);color:var(--badge-success-text);border-color:var(--badge-success-border)}.badge-assigned{background:var(--badge-info-bg);color:var(--badge-info-text);border-color:var(--badge-info-border)}.badge-maintenance,.badge-draft{background:var(--badge-warning-bg);color:var(--badge-warning-text);border-color:var(--badge-warning-border)}.badge-retired,.badge-inactive,.badge-terminated,.badge-offline{background:var(--badge-neutral-bg);color:var(--badge-neutral-text);border-color:var(--badge-neutral-border)}.badge-completed{background:var(--badge-success-bg);color:var(--badge-success-text);border-color:var(--badge-success-border)}.badge-suspended{background:var(--badge-danger-bg);color:var(--badge-danger-text);border-color:var(--badge-danger-border)}.error-msg{color:var(--danger-text);margin-top:.5rem;font-size:.875rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;display:flex}.page-header>div:first-child{flex:16rem;min-width:0}.page-header .btn,.page-header .header-actions{flex-shrink:0}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.page-header h1{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700}.page-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin-bottom:.35rem;font-size:.75rem;font-weight:700;display:block}.page-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.95rem}.modal-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;justify-content:center;align-items:center;padding:1rem;animation:.18s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--modal-bg);border:1px solid var(--border-strong);width:100%;max-width:540px;max-height:min(90vh,90dvh);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;border-radius:18px;padding:1.6rem;animation:.22s riseIn;overflow-y:auto}.modal h2{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1.15rem;font-size:1.25rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:.5rem;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=900px){.grid-3{grid-template-columns:1fr}.card{padding:1.1rem}.modal{padding:1.25rem}}@media (width<=720px){.table-wrap.responsive-cards{overflow:visible}.table-wrap.responsive-cards table{width:100%;min-width:0}.table-wrap.table-fit.responsive-cards th,.table-wrap.table-fit.responsive-cards td{white-space:normal}.table-wrap.responsive-cards thead{display:none}.table-wrap.responsive-cards tbody{gap:.75rem;display:grid}.table-wrap.responsive-cards tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--row-card-bg);gap:.55rem;padding:.95rem;display:grid}.table-wrap.responsive-cards tbody tr:hover{background:var(--row-hover)}.table-wrap.responsive-cards td{white-space:normal;border-bottom:none;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:0;display:flex}.table-wrap.responsive-cards td:before{content:attr(data-label);max-width:9rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;flex:0 0 38%;padding-top:.15rem;font-size:.72rem;font-weight:700}.table-wrap.responsive-cards td.actions,.table-wrap.responsive-cards td[data-label=""]{border-top:1px solid var(--border);justify-content:flex-start;margin-top:.15rem;padding-top:.35rem}.table-wrap.responsive-cards td[data-label=""]:before{display:none}.table-wrap.responsive-cards td>:not(.row-actions){text-align:right;flex:auto;min-width:0}.table-wrap.responsive-cards td .sub{text-align:right}.table-wrap.responsive-cards td.actions,.table-wrap.responsive-cards td[data-label=""] .row-actions,.table-wrap.responsive-cards .row-actions{width:100%}.table-wrap.responsive-cards .row-actions .btn{flex:auto;justify-content:center}.table-wrap.responsive-cards .row-actions .icon-btn{flex:none}.table-wrap.responsive-cards td.actions .row-actions:has(.icon-btn){flex-wrap:nowrap;justify-content:flex-end;width:auto}}@media (width<=640px){.grid-2,.grid-3{grid-template-columns:1fr}.page-header{align-items:stretch;margin-bottom:1.25rem}.page-header .btn,.header-actions{width:100%}.header-actions .btn,.header-actions .upload-btn{flex:auto;justify-content:center}.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:none;max-height:min(92vh,92dvh);padding:1.15rem 1rem calc(1.15rem + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;animation:.22s sheetIn}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.btn{min-height:44px}.btn-sm{min-height:36px}.icon-btn{width:2.75rem;height:2.75rem}}@keyframes sheetIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}html[data-theme=light] .form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230c8a66' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}html[data-theme=light] .card{box-shadow:0 1px 2px #0c8a660d, var(--shadow)}html[data-theme=light] .btn-secondary{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 28%, transparent);background:#fff}html[data-theme=light] .btn-secondary:hover:not(:disabled){background:var(--primary);color:var(--on-primary);border-color:var(--primary)}html[data-theme=light] .icon-btn{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 22%, transparent);background:#fff}html[data-theme=light] .icon-btn:hover{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}html[data-theme=light] .icon-btn-danger{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}html[data-theme=light] .icon-btn-danger:hover{background:var(--danger-hover);color:var(--danger-text);border-color:var(--danger-border)}
