.search-bar{width:220px;max-width:100%;margin-left:auto;position:relative}.search-bar input{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);width:100%}.search-bar-results{top:calc(100% + var(--space-1));width:280px;max-width:calc(100vw - var(--space-6));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-height:360px;padding:var(--space-3);z-index:10;position:absolute;left:0;overflow-y:auto}@media (width<=768px){.search-bar{width:100%}.search-bar-results{width:auto;left:0;right:0}}.search-bar-results h4{margin:var(--space-2) 0 var(--space-1);color:var(--color-text-muted);text-transform:uppercase;font-size:.8rem}.search-bar-results button{text-align:left;width:100%;color:var(--color-text);padding:var(--space-1) 0;cursor:pointer;background:0 0;border:none;display:block}.search-bar-results button:hover{color:var(--color-accent-2)}.app-shell{background:radial-gradient(ellipse 900px 600px at 100% -10%, #8b5cf61f, transparent), var(--color-bg);min-height:100vh;display:flex}.app-shell-sidebar{border-right:1px solid var(--color-border);background:var(--color-bg-alt);width:232px;padding:var(--space-5) var(--space-3);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.app-shell-brand{align-items:center;gap:var(--space-2);font-family:var(--font-display);color:var(--color-text);padding:0 var(--space-2);margin-bottom:var(--space-6);font-size:1.15rem;font-weight:700;display:flex}.app-shell-brand-mark{border-radius:var(--radius);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:#fff;width:28px;height:28px;font-family:var(--font-mono);justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.app-shell-nav{flex-direction:column;flex:1;gap:2px;display:flex}.app-shell-nav a{align-items:center;gap:var(--space-3);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}.app-shell-nav a svg{opacity:.8;flex-shrink:0}.app-shell-nav a:hover{color:var(--color-text);background:var(--color-surface)}.app-shell-nav a.active{color:var(--color-text);background:var(--color-surface-2);box-shadow:inset 2px 0 0 var(--color-accent-2)}.app-shell-nav a.active svg{opacity:1;color:var(--color-accent-2)}.app-shell-account{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) 0;border-top:1px solid var(--color-border);margin-top:var(--space-4);display:flex}.app-shell-avatar{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:600;display:flex}.app-shell-account-info{flex-direction:column;flex:1;min-width:0;display:flex}.app-shell-account-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.app-shell-account-role{color:var(--color-text-muted);text-transform:capitalize;font-size:.75rem}.app-shell-logout{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius);background:0 0;border:none;transition:color .15s,background .15s;display:flex}.app-shell-logout:hover{color:var(--color-danger);background:var(--color-surface)}.app-shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-shell-topbar{padding:var(--space-4) var(--space-6) 0;justify-content:flex-end;display:flex}.app-shell-content{padding:var(--space-4) var(--space-6) var(--space-6);flex:1;width:100%;max-width:1080px}@media (width<=768px){.app-shell{flex-direction:column;min-height:auto}.app-shell-sidebar{z-index:20;align-items:center;gap:var(--space-2);width:100%;height:auto;padding:var(--space-2) var(--space-3);border-right:none;border-bottom:1px solid var(--color-border);flex-direction:row;position:sticky;top:0;overflow-x:auto}.app-shell-brand{margin-bottom:0;margin-right:var(--space-2);flex-shrink:0;padding:0}.app-shell-brand-text{display:none}.app-shell-nav{flex-direction:row;flex:none;gap:2px}.app-shell-nav a{padding:var(--space-2)}.app-shell-nav a span{display:none}.app-shell-account{padding:0 0 0 var(--space-2);border-top:none;border-left:1px solid var(--color-border);flex-shrink:0;margin-top:0;margin-left:auto}.app-shell-account-info{display:none}.app-shell-topbar{padding:var(--space-3) var(--space-3) 0;justify-content:stretch}.app-shell-content{padding:var(--space-3) var(--space-3) var(--space-5)}}.login-page{min-height:100vh;padding:var(--space-4);background:radial-gradient(ellipse 700px 500px at 50% 0%, #8b5cf633, transparent), var(--color-bg);justify-content:center;align-items:center;display:flex}.login-form{gap:var(--space-4);flex-direction:column;width:340px;max-width:100%;display:flex;box-shadow:0 20px 60px #0006}.login-form h1{margin-bottom:var(--space-2)}.login-form label{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.login-error{color:var(--color-danger);margin:0}.empty-state{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--color-text-muted);flex-direction:column;display:flex}.empty-state-icon{border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-accent-2);margin-bottom:var(--space-1);justify-content:center;align-items:center;display:flex}.empty-state-title{color:var(--color-text);margin:0;font-weight:500}.empty-state-description{max-width:320px;margin:0;font-size:.9rem}.skeleton{border-radius:var(--radius);background:linear-gradient(100deg, var(--color-surface) 40%, var(--color-surface-2) 50%, var(--color-surface) 60%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-block{gap:var(--space-2);flex-direction:column;display:flex}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.customer-detail-header{justify-content:space-between;align-items:flex-start;display:flex}.customer-detail-notes{color:var(--color-text-muted);margin:0}.customer-detail-projects-header{margin-top:var(--space-6);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.customer-detail-projects-header h2{margin:0}.customer-detail-projects{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.customer-detail-project-row{align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none;display:flex}.customer-detail-project-icon{border-radius:var(--radius);background:var(--color-surface-2);width:36px;height:36px;color:var(--color-accent-2);flex-shrink:0;justify-content:center;align-items:center;display:flex}.customer-detail-project-name{flex:1;font-weight:500}.customer-detail-chevron{color:var(--color-text-muted)}.customer-form{gap:var(--space-3);flex-direction:column;max-width:400px;display:flex}.customer-form label{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.customer-form input,.customer-form textarea{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit}.customers-list{gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:column;padding:0;list-style:none;display:flex}.customers-row{align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none;display:flex}.customers-row-icon{border-radius:var(--radius);background:var(--color-surface-2);width:36px;height:36px;color:var(--color-accent-2);flex-shrink:0;justify-content:center;align-items:center;display:flex}.customers-row-info{flex-direction:column;flex:1;min-width:0;display:flex}.customers-row-name{font-weight:500}.customers-notes{color:var(--color-text-muted);font-size:.85rem}.customers-row-chevron{color:var(--color-text-muted);flex-shrink:0}.customers-create h2{align-items:center;font-size:1.05rem;display:flex}.customers-create-icon{color:var(--color-accent-2);margin-right:var(--space-2)}.dashboard-stat{align-items:center;gap:var(--space-3);flex:1;min-width:160px;display:flex;position:relative}.dashboard-stat-body{min-width:0;overflow:hidden}.dashboard-stat-remove{top:var(--space-2);right:var(--space-2);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);opacity:0;background:0 0;border:none;padding:2px;transition:opacity .15s,color .15s,background .15s;display:flex;position:absolute}.dashboard-stat:hover .dashboard-stat-remove{opacity:1}.dashboard-stat-remove:hover{color:var(--color-danger);background:var(--color-surface-2)}.dashboard-stat-icon{border-radius:var(--radius);width:40px;height:40px;color:var(--color-accent-2);background:#8b5cf61f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard-stat-danger .dashboard-stat-icon{color:var(--color-danger);background:#f2766b24}.dashboard-stat-warning .dashboard-stat-icon{color:var(--color-warning);background:#e0a83e24}.dashboard-stat-value{font-family:var(--font-display);font-size:1.7rem;font-weight:700;line-height:1.1}.dashboard-stat-label{color:var(--color-text-muted);margin-top:2px;font-size:.85rem}.dashboard-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-start;display:flex}.dashboard-header h1{margin-bottom:var(--space-1)}.dashboard-subtitle{color:var(--color-text-muted);margin:0}.dashboard-stats{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.dashboard-widgets{gap:var(--space-3);flex-wrap:wrap;display:flex}.dashboard-widgets-icon{color:var(--color-accent-2);vertical-align:-3px;margin-right:var(--space-1)}.dashboard-owed{flex-direction:column;padding:0;display:flex;overflow:hidden}.dashboard-owed-row{padding:var(--space-3) var(--space-4);justify-content:space-between;display:flex}.dashboard-owed-row:not(:last-child){border-bottom:1px solid var(--color-border)}.dashboard-owed-amount{font-family:var(--font-display);color:var(--color-accent-2);font-weight:600}.dashboard-page section{margin-top:var(--space-5)}.dashboard-page section h2{align-items:center;display:flex}.data-source-builder{gap:var(--space-4);flex-direction:column;max-width:560px;display:flex}.data-source-builder label{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.data-source-builder input,.data-source-builder textarea{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit}.data-source-builder textarea{font-family:ui-monospace,monospace;font-size:.9rem}.data-source-builder fieldset{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);min-width:0}.data-source-builder-connection{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.data-source-builder-hint{color:var(--color-text-muted);font-size:.85rem}.data-source-builder-actions{gap:var(--space-2);display:flex}.data-source-builder-result{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3)}.data-source-builder-result.error{border-color:var(--color-danger);color:var(--color-danger)}.data-source-builder-result pre{white-space:pre-wrap;word-break:break-word;margin:0}.grants-editor ul{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.grants-editor li{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.grants-editor-add{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.grants-editor-add select{min-width:110px;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);flex:130px}.data-source-detail-page>.card,.data-source-detail-page>section{margin-top:var(--space-4)}.data-source-detail-page h2{align-items:center;gap:var(--space-2);font-size:1rem;display:flex}.data-source-detail-dashboard{justify-content:space-between;align-items:center;display:flex}.data-source-detail-dashboard h2{margin:0}.data-source-detail-danger,.data-source-detail-danger:hover{border-color:#f2766b59}.data-source-detail-danger h2{color:var(--color-danger)}.data-source-detail-danger p{color:var(--color-text-muted);margin-top:0;font-size:.9rem}.data-source-detail-delete{color:var(--color-danger);border-color:#f2766b66}.data-source-detail-delete:hover{border-color:var(--color-danger);background:#f2766b1f}.data-sources-header{justify-content:space-between;align-items:center;display:flex}.data-sources-list{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;padding:0;list-style:none;display:flex}.data-sources-row{align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none;display:flex}.data-sources-row-icon{border-radius:var(--radius);background:var(--color-surface-2);width:36px;height:36px;color:var(--color-accent-2);flex-shrink:0;justify-content:center;align-items:center;display:flex}.data-sources-row-info{flex-direction:column;flex:1;min-width:0;display:flex}.data-sources-row-name{font-weight:500}.data-sources-type{color:var(--color-text-muted);text-transform:uppercase;font-size:.8rem}.data-sources-row-chevron{color:var(--color-text-muted)}.profile-page section{margin-top:var(--space-5)}.profile-password-form{gap:var(--space-3);flex-direction:column;max-width:320px;display:flex}.profile-password-form label{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.profile-password-form input{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.profile-success{color:var(--color-success)}.profile-tokens{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.profile-token-created{margin-top:var(--space-3);word-break:break-all;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2)}.month-payments-table table{border-collapse:collapse;width:100%}.month-payments-table th,.month-payments-table td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.month-payments-add{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.month-payments-add input{min-width:100px;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);flex:110px}.month-payments-add input.month-payments-period-input{flex-basis:150px;min-width:150px}.tag-editor-chips{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.tag-editor-chip{align-items:center;gap:var(--space-1);color:var(--color-accent-2);border-radius:var(--radius-pill);padding:2px var(--space-3);background:#8b5cf61f;border:1px solid #8b5cf659;font-size:.85rem;font-weight:500;display:inline-flex}.tag-editor-chip button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.tag-editor-add{gap:var(--space-2);min-width:0;display:flex}.tag-editor-add input{min-width:0;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);flex:1}.project-detail-header{align-items:center;gap:var(--space-3);display:flex}.project-detail-header h1{margin-bottom:0}.project-detail-badge{padding:2px var(--space-2);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:500}.project-detail-badge-shared{color:var(--color-accent-2);background:#8b5cf624}.project-detail-badge-dev_only{background:var(--color-surface-2);color:var(--color-text-muted)}.project-detail-description{color:var(--color-text-muted);margin-top:0}.project-detail-tags{margin-bottom:var(--space-5)}.project-detail-grid{gap:var(--space-4);grid-template-columns:280px 1fr;align-items:start;display:grid}.project-detail-grid h2{align-items:center;gap:var(--space-2);font-size:1rem;display:flex}.project-detail-devs{margin:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.project-detail-devs li{justify-content:space-between;font-size:.9rem;display:flex}.project-detail-dev-meta{gap:var(--space-2);color:var(--color-text-muted);display:flex}.project-detail-main-badge{background:var(--color-surface-2);color:var(--color-accent-2);padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:.75rem}.project-detail-add-dev{gap:var(--space-2);flex-direction:column;display:flex}.project-detail-tasks{margin:0 0 var(--space-3);flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.project-detail-task-row{align-items:center;gap:var(--space-2);color:var(--color-text);padding:var(--space-2);border-radius:var(--radius);text-decoration:none;transition:background .15s;display:flex}.project-detail-task-row:hover{background:var(--color-surface-2)}.project-detail-task-dot{border:1.5px solid var(--color-text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.project-detail-task-done{color:var(--color-success);flex-shrink:0}.project-detail-task-name{flex:1}.project-detail-add-task{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.project-detail-add-task input{flex:160px;min-width:120px}.project-detail-payments-card{margin-top:var(--space-4)}@media (width<=768px){.project-detail-grid{grid-template-columns:1fr}.project-detail-add-task{flex-direction:column;align-items:stretch}}.project-devs-editor{gap:var(--space-2);flex-direction:column;display:flex}.project-devs-editor>label{color:var(--color-text-muted);font-size:.9rem}.project-devs-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.project-devs-row select,.project-devs-row input{min-width:90px;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);flex:110px}.project-devs-hint{color:var(--color-warning);margin:0;font-size:.85rem}.project-form{gap:var(--space-4);flex-direction:column;max-width:480px;display:flex}.project-form label{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.project-form input,.project-form textarea,.project-form select{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit}.project-form-customer-mode{gap:var(--space-2) var(--space-4);flex-flow:wrap;display:flex}.project-form-customer-mode label{align-items:center;gap:var(--space-1);flex-direction:row}.attachment-uploader{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.attachment-list{flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.attachment-row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.attachment-row:not(:last-child){border-bottom:1px solid var(--color-border)}.attachment-icon{color:var(--color-text-muted);flex-shrink:0}.attachment-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.attachment-size{color:var(--color-text-muted);flex-shrink:0;font-size:.8rem}.attachment-delete{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;transition:color .15s,background .15s;display:flex}.attachment-delete:hover{color:var(--color-danger);background:var(--color-surface-2)}.attachment-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.comment-thread ul{gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.comment-thread li p{margin:var(--space-1) 0 0}.comment-thread-time{color:var(--color-text-muted);font-size:.8rem}.comment-thread-add{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;max-width:480px;display:flex}.comment-thread-add textarea{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit}.cost-line-items table{border-collapse:collapse;width:100%}.cost-line-items th,.cost-line-items td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.cost-line-items-row-actions{gap:var(--space-1);justify-content:flex-end;display:flex}.cost-line-items-sum{margin-top:var(--space-3);font-weight:600}.cost-line-items-add{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.cost-line-items-add-compact{padding:var(--space-2) 0;margin-top:0}.cost-line-items-add input,.cost-line-items-add select{min-width:90px;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);flex:110px}.task-form{gap:var(--space-3);flex-direction:column;max-width:420px;display:flex}.task-form label{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.task-form input,.task-form textarea{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit}.task-detail-back{align-items:center;gap:var(--space-1);color:var(--color-text-muted);margin-bottom:var(--space-3);font-size:.9rem;text-decoration:none;display:inline-flex}.task-detail-back:hover{color:var(--color-text)}.task-detail-title-row{align-items:center;gap:var(--space-3);display:flex}.task-detail-title-row h1{margin-bottom:0}.task-detail-status-badge{padding:3px var(--space-2);border-radius:var(--radius-pill);text-transform:capitalize;align-items:center;gap:4px;font-size:.75rem;font-weight:500;display:inline-flex}.task-detail-status-done{color:var(--color-success);background:#4fbf8224}.task-detail-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:1fr 280px;align-items:start;display:grid}.task-detail-main,.task-detail-side{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.task-detail-grid h2{align-items:center;gap:var(--space-2);font-size:1rem;display:flex}.task-detail-side h2{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;font-weight:500}.task-detail-side select{width:100%}@media (width<=768px){.task-detail-grid{grid-template-columns:1fr}}.invite-form{gap:var(--space-3);flex-direction:column;max-width:420px;display:flex}.invite-form label{gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.invite-form select{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.invite-form fieldset{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3)}.invite-form-permission{align-items:center;font-size:.9rem;gap:var(--space-2)!important;flex-direction:row!important}.invite-form-link{word-break:break-all;background:var(--color-bg);padding:var(--space-2);border-radius:var(--radius)}.users-page>:not(:first-child){margin-top:var(--space-5)}.users-table{border-collapse:collapse;width:100%}.users-table th,.users-table td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border);vertical-align:top}.users-permissions{gap:var(--space-1);flex-direction:column;font-size:.85rem;display:flex}.users-permissions label{align-items:center;gap:var(--space-1);display:flex}.users-actions{gap:var(--space-1);flex-direction:column;display:flex}html,body,#root{height:100%}:root{--color-bg:#0b0710;--color-bg-alt:#120a1a;--color-surface:#1a1024;--color-surface-2:#221530;--color-border:#2e1f42;--color-text:#f5f3f7;--color-text-muted:#9b94a8;--color-accent:#8b5cf6;--color-accent-2:#c084fc;--color-accent-hover:#a78bfa;--color-accent-text:#fff;--color-danger:#f2766b;--color-warning:#e0a83e;--color-success:#4fbf82;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius:12px;--radius-pill:999px;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Space Grotesk", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace}*{box-sizing:border-box}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);letter-spacing:.01em;margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}h1{background:linear-gradient(135deg, var(--color-text), var(--color-accent-2));color:#0000;margin:0 0 var(--space-4);-webkit-background-clip:text;background-clip:text;font-size:1.9rem;display:inline-block}h2{color:var(--color-text);margin:0 0 var(--space-3);font-size:1.2rem}a{color:var(--color-accent-2)}code,pre,textarea.mono{font-family:var(--font-mono)}input,textarea,select,button{font-family:inherit;font-size:.95rem}::selection{background:var(--color-accent);color:#fff}.status-overdue{color:var(--color-danger);font-weight:600}.status-due-soon{color:var(--color-warning);font-weight:600}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);min-width:0;transition:border-color .15s}.card:hover{border-color:var(--color-accent)}.btn{justify-content:center;align-self:flex-start;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);cursor:pointer;white-space:nowrap;flex-shrink:0;font-weight:500;text-decoration:none;transition:border-color .15s,transform .1s,background .15s;display:inline-flex}.btn-block{align-self:stretch;width:100%}.btn:hover{border-color:var(--color-accent);background:var(--color-surface)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-2));color:var(--color-accent-text);border-color:#0000}.btn-primary:hover{background:linear-gradient(135deg, var(--color-accent-hover), var(--color-accent-2));border-color:#0000}input,textarea,select{padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--color-accent)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}table{border-collapse:collapse}.table-scroll{overflow-x:auto}.table-scroll table{min-width:480px}th,td{border-bottom:1px solid var(--color-border)}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}
