:root{color:#1f2937;background:#f3f4f6;font-family:Segoe UI,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#1d4ed8;text-decoration:none}a:hover{text-decoration:underline}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#f9fafb;background:#111827;flex-direction:column;gap:1rem;padding:1.5rem 1rem;display:flex}.brand{font-size:1.1rem;font-weight:700}.sidebar nav{flex-direction:column;gap:.5rem;display:flex}.sidebar a{color:#d1d5db;border-radius:.5rem;padding:.5rem .75rem}.sidebar a.active{color:#fff;background:#374151;text-decoration:none}.sidebar-footer{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.sidebar-footer button{color:#fff;cursor:pointer;background:#374151;border:0;border-radius:.5rem;padding:.5rem}.content{padding:2rem}.login-page{background:linear-gradient(135deg,#111827,#1e3a8a);place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:1rem;gap:1rem;width:min(420px,92vw);padding:2rem;display:grid;box-shadow:0 20px 40px #0003}.login-card label{gap:.35rem;font-size:.9rem;display:grid}button,.button{color:#fff;cursor:pointer;font:inherit;background:#1d4ed8;border:0;border-radius:.5rem;padding:.65rem 1rem;display:inline-block}button:disabled{opacity:.7;cursor:wait}.muted{color:#6b7280}.error{color:#b91c1c;background:#fef2f2;border-radius:.5rem;padding:.75rem}.success{color:#047857;background:#ecfdf5;border-radius:.5rem;padding:.75rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.card{color:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem}.card:hover{border-color:#93c5fd;text-decoration:none}.data-table{border-collapse:collapse;background:#fff;border-radius:.75rem;width:100%;margin-top:1rem;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.data-table th{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;background:#f9fafb;font-size:.85rem}.inline-form,.stacked-form{flex-wrap:wrap;align-items:end;gap:.75rem;margin:1rem 0;display:flex}.stacked-form{flex-direction:column;align-items:stretch;max-width:420px}.stacked-form label{gap:.35rem;display:grid}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;margin-top:1rem;padding:1.25rem}.page-header{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem;display:flex}.back-link{margin-bottom:.5rem;display:inline-block}.badge{color:#1e40af;background:#dbeafe;border-radius:999px;padding:.2rem .55rem;font-size:.85rem}.pricing-result{gap:.35rem;margin-top:1rem;display:grid}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:1rem 0;display:grid}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.filters-panel{margin-bottom:1rem}.commit-button{background:#047857;margin-top:1rem}.loading-screen{place-items:center;min-height:100vh;display:grid}.tab-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tab-button{color:#374151;background:#e5e7eb;border-radius:.5rem;padding:.5rem .85rem}.tab-button.active{color:#fff;background:#1d4ed8}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.dashboard-card{color:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;text-decoration:none}.dashboard-card:hover{border-color:#93c5fd}.dashboard-card h2{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.85rem}.dashboard-count{font-size:2rem;font-weight:700}.dashboard-count.overdue{color:#b91c1c}.queue-list{margin:0;padding:0;list-style:none}.queue-list li{border-bottom:1px solid #e5e7eb;padding:.5rem 0}.overdue{color:#b91c1c;font-weight:600}.overdue-label{color:#b91c1c;margin-top:.5rem}.action-group{flex-wrap:wrap;gap:.35rem;display:flex}.action-group button{padding:.35rem .5rem;font-size:.75rem}.login-card input,.inline-form input,.inline-form select,.stacked-form input,.stacked-form select,.stacked-form textarea,.data-table input,.data-table select{font:inherit;border:1px solid #d1d5db;border-radius:.5rem;padding:.65rem .75rem}.stacked-form textarea,.panel textarea{width:100%;min-height:80px}
