@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--bg:#fbfcfa;--ink:#0d0d0d;--stone:#7a8a7a;--stone-light:#b0bcb0;--border:#e5ede5;--border-soft:#f0f4f0;--pistache:#6aae7a;--pistache-bg:#eaf5ec;--pistache-border:#d0edd8;--forest:#2a6a3a;--primary:var(--pistache);--red-bg:#fef2f2;--red-text:#991b1b;--red-border:#fecaca;--danger:#b91c1c;--danger-strong:#ef4444;--danger-bg:#fef2f2;--danger-border:#fee2e2;--orange-bg:#fff7ed;--orange-text:#9a3412;--orange-border:#ffedd5;--amber-bg:#fef3c7;--amber-text:#92400e;--amber-border:#fde68a;--ease:cubic-bezier(0.16,1,0.3,1);--sidebar-width:240px}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media (min-width:768px){.container{padding:0 40px}}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}@media (max-width:640px){.grid-2{grid-template-columns:1fr}}.detail-header{display:flex;justify-content:space-between;align-items:flex-start}@media (max-width:640px){.detail-header{flex-direction:column;gap:16px}}.invoice-header{display:flex;justify-content:space-between;align-items:flex-end}@media (max-width:640px){.invoice-header{flex-direction:column;align-items:flex-start;gap:16px}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px;flex-wrap:wrap;gap:20px}.page-header-info h1{font-size:clamp(20px,4vw,24px);font-weight:300;margin-bottom:4px}.page-header-info p{color:var(--stone);font-weight:300}.content-section{margin-bottom:32px}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;min-width:900px}.data-table thead tr{border-bottom:1px solid var(--border-soft)}.data-table th{padding:16px 24px;font-size:11px;font-weight:500;color:var(--stone-light);text-transform:uppercase;letter-spacing:1px}.data-table td{padding:16px 24px;border-bottom:1px solid var(--border-soft);font-size:13px}.data-table tbody tr:last-child td{border-bottom:none}.form-container{max-width:800px;margin:0 auto}.form-grid{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px}@media (min-width:640px){.form-grid-2{grid-template-columns:1fr 1fr}}.input-group{display:flex;flex-direction:column;gap:8px}.input-label{font-size:12px;font-weight:500;color:var(--stone-light);text-transform:uppercase}.input-field{padding:12px;border-radius:8px;border:1px solid var(--border);font-size:14px;outline:none;font-family:inherit;background-color:#fff;width:100%}select.input-field{padding-right:40px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237A8A7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.input-field:focus{border-color:var(--pistache)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:100px;font-size:13px;font-weight:400;cursor:pointer;transition:all .2s var(--ease);text-decoration:none;border:1px solid transparent;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.btn-primary{background:var(--pistache);color:#fff}.btn-primary:hover{opacity:.9}.btn-ghost{background:transparent;color:var(--stone);border:1px solid var(--border)}.btn-ghost:hover{color:var(--ink);border-color:var(--stone-light)}.btn-table{padding:6px 12px;font-size:11px;text-decoration:none;display:inline-block}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--forest);outline-offset:2px;border-radius:6px}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;transition:border-color .2s var(--ease)}@media (min-width:768px){.card{padding:24px}}.card:hover{border-color:var(--stone-light)}.badge{display:inline-flex;padding:2px 10px;border-radius:100px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;border:1px solid transparent}.badge-pistache{background:var(--pistache-bg);color:var(--forest);border-color:var(--pistache-border)}.badge-orange{background:var(--orange-bg);color:var(--orange-text);border-color:var(--orange-border)}.badge-red{background:var(--red-bg);color:var(--red-text);border-color:var(--red-border)}.badge-stone{background:var(--border-soft);color:var(--stone);border-color:var(--border)}.badge-amber{background:var(--amber-bg);color:var(--amber-text);border-color:var(--amber-border)}.badge-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--stone);text-decoration:none;font-size:13px;margin-bottom:16px}.back-link:hover{color:var(--ink)}.alert{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;font-size:13px;border:1px solid}.alert-error{background:var(--red-bg);border-color:var(--red-border);color:var(--red-text)}.alert-warning{background:var(--amber-bg);border-color:var(--amber-border);color:var(--amber-text)}.alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:24px;gap:24px}.search-container{display:flex;gap:16px;align-items:center;padding:12px 16px;margin-bottom:24px}.search-wrapper{position:relative;width:100%;flex:1 1}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--stone-light);pointer-events:none}.search-input{width:100%;padding:8px 12px 8px 36px;border-radius:8px;border:1px solid transparent;background-color:transparent;font-size:13px;outline:none;font-family:inherit;transition:all .2s var(--ease)}.date-input-overlay::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;background:transparent}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--stone-light);border-radius:34px}.toggle-slider,.toggle-slider:before{position:absolute;transition:.3s var(--ease)}.toggle-slider:before{content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.1)}input:checked+.toggle-slider{background-color:var(--pistache)}input:checked+.toggle-slider:before{transform:translateX(18px)}.animate-spin{animation:spin 1s linear infinite}.icon-btn{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:100px;color:var(--stone-light);transition:color .2s ease}.icon-btn:hover{color:var(--stone)}.icon-btn-danger{color:#ef4444}.icon-btn-danger:hover{color:#e03131}.hide-mobile{display:initial}.table-row-hover .row-actions{opacity:.2;transition:opacity .2s var(--ease)}.table-row-hover:hover .row-actions{opacity:1}@media (max-width:768px){.hide-mobile{display:none!important}.row-actions{opacity:1!important}.data-table{min-width:900px}.stats-grid{grid-template-columns:1fr!important}.page-header{flex-direction:column;align-items:flex-start}}.dashboard-layout{display:flex;flex-direction:column;min-height:100vh}@media (min-width:1024px){.dashboard-layout{flex-direction:row;height:100vh;overflow:hidden}}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--bg);position:fixed;top:0;left:0;right:0;z-index:110;transform:translateY(0);transition:transform .4s var(--ease)}.mobile-header-hidden{transform:translateY(-100%)}@media (min-width:1024px){.mobile-header{display:none}}.mobile-overlay{position:fixed;top:57px;left:0;right:0;height:calc(100dvh - 57px);background:rgba(0,0,0,.3);z-index:90}@media (min-width:1024px){.mobile-overlay{display:none}}.sidebar{position:fixed;top:57px;left:0;right:0;height:calc(100dvh - 57px);background:var(--bg);z-index:100;padding:24px 24px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-20px);transition:opacity .3s var(--ease),visibility .3s var(--ease),transform .3s var(--ease)}.sidebar.sidebar-open{opacity:1;visibility:visible;transform:translateY(0)}@media (min-width:1024px){.sidebar{position:static;top:auto;bottom:auto;left:auto;right:auto;opacity:1;visibility:visible;transform:none;transition:none;width:var(--sidebar-width);flex-shrink:0;border-right:1px solid var(--border);padding:40px 20px;height:100%;overflow:hidden}}.sidebar-mobile-top{display:none}.sidebar-logo{padding:10px 20px;margin-bottom:22px;display:none}@media (min-width:1024px){.sidebar-logo{display:block}}.sidebar-nav{display:flex;flex-direction:column;gap:8px;flex:1 1}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:8px;font-size:14px;color:var(--stone);text-decoration:none;border:none;background:none;cursor:pointer;transition:color .15s ease,background .15s ease}.sidebar-link:hover{color:var(--ink)}.sidebar-bottom{margin-top:auto;padding-top:20px;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:8px}.main-content{flex:1 1;padding:80px 0 60px;min-width:0;overflow-x:auto}@media (min-width:1024px){.main-content{padding:40px 0 60px;overflow-y:auto;height:100%}}.stats-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;margin-bottom:32px}@media (min-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.stats-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.login-card{width:100%;max-width:400px;padding:32px 24px}@media (min-width:640px){.login-card{padding:40px}}