@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--bg:#f7f8f5;--bg-1:#fff;--bg-2:#f1f3ef;--bg-3:#e5e7df;--bg-4:#d1d5c8;--accent:#d66b1f;--accent-2:#d66b1f1a;--accent-3:#d66b1f38;--accent-deep:#9a4212;--green:#15803d;--green-bg:#dcfce7;--green-bdr:#86efac;--tx:#111827;--tx-2:#4b5563;--tx-3:#6b7280;--tx-4:#9ca3af;--bdr:#11182714;--bdr-2:#11182724;--bdr-3:#11182738;--shadow-sm:0 1px 2px #1118270d;--shadow:0 8px 20px #11182714;--shadow-lg:0 16px 40px #1118271f;--font-display:"Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:999px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--tx);min-height:100dvh;line-height:1.6}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--tx);font-weight:700;line-height:1.2}h1{font-size:clamp(1.6rem,3.5vw,2.2rem)}h2{font-size:clamp(1.2rem,2.5vw,1.5rem)}h3{font-size:1.05rem}p{color:var(--tx-2);line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-deep)}button{cursor:pointer;font-family:var(--font-body)}input,textarea,select{font-family:var(--font-body);color:var(--tx);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);background:#fff;border:1.5px solid #00000024;outline:none;padding:.65rem .9rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f973161f}input::placeholder,textarea::placeholder{color:var(--tx-4)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:#00000029;border-radius:99px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.badge{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:3px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.badge-lilac{background:var(--lilac-100);color:var(--lilac-700);border:1px solid var(--lilac-200)}.badge-accent{background:var(--accent-2);color:var(--accent-deep);border:1px solid var(--accent-3)}.badge-green{background:var(--green-bg);color:var(--green);border:1px solid var(--green-bdr)}.badge-amber{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-bdr)}.badge-red{background:var(--red-bg);color:var(--red);border:1px solid var(--red-bdr)}.badge-blue{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-bdr)}.badge-gray{background:var(--bg-3);color:var(--tx-2);border:1px solid var(--bdr-2)}.card{background:var(--bg-1);border:1.5px solid var(--bdr);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem}.btn{font-family:var(--font-body);border-radius:var(--radius);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:.65rem 1.35rem;font-size:.875rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px #f9731647}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 4px 16px #f973165c}.btn-ghost{color:var(--tx-2);border:1.5px solid var(--bdr-2);background:0 0}.btn-ghost:hover{background:var(--bg-2);color:var(--tx);border-color:var(--bdr-3)}.btn-soft{background:var(--accent-2);color:var(--accent-deep);border:1.5px solid var(--accent-3)}.btn-soft:hover{background:var(--lilac-200)}.btn-danger{background:var(--red-bg);color:var(--red);border:1.5px solid var(--red-bdr)}.shell{background:var(--bg);min-height:100dvh;display:flex}.sidebar{background:#fbfbf8;border-right:1px solid #11182712;flex-direction:column;flex-shrink:0;width:248px;height:100dvh;padding:1.25rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.main{flex:1;min-width:0;padding:2rem 2.5rem;overflow-y:auto}.auth-shell{background:var(--bg);min-height:100dvh;display:flex}.auth-left{flex:1;justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex}.auth-right{--tx:#fff;--tx-2:#ffffff94;--tx-3:#ffffff52;--bdr:#ffffff1a;--bdr-2:#ffffff29;background:#131313;border-left:none;flex-direction:column;justify-content:center;align-items:center;width:46%;padding:3rem;display:flex;position:relative;overflow:hidden}.auth-card{border-radius:var(--radius-xl);background:#fff;border:1.5px solid #0000001a;width:100%;max-width:420px;padding:2.25rem;box-shadow:0 8px 32px #0000001a}.nav-item{border-radius:var(--radius);color:#4b5563;font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:.6rem .8rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.nav-item.active{color:#9a4212;background:#fff7ed;border:1px solid #d66b1f2e;font-weight:700}.nav-item:not(.active):hover{color:#111827;background:#f3f4f1}.metric-card{background:var(--bg-1);border:1.5px solid var(--bdr);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:.6rem .9rem;display:flex;position:relative;overflow:hidden}.metric-card:before{display:none}.metric-val{font-family:var(--font-display);color:var(--tx);font-size:1.2rem;font-weight:700;line-height:1}.metric-lbl{color:var(--tx-3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:.68rem}.permit-card{background:var(--bg-1);border:1.5px solid var(--bdr);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;padding:.75rem 1rem;transition:background .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.permit-card:hover{box-shadow:var(--shadow);background:#fff;border-color:#0000002e}.permit-card.unread{border-left:3px solid var(--accent)}.permit-stripe{display:none}.ai-panel{background:linear-gradient(135deg,var(--bg-2) 0%,var(--bg-3) 100%);border:1.5px solid var(--bdr-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem}.ai-insight-box{background:var(--accent-2);border:1.5px solid var(--accent-3);border-radius:var(--radius);align-items:flex-start;gap:10px;padding:.875rem 1rem;display:flex}.ai-feat-btn{border-radius:var(--radius-sm);color:var(--accent-deep);cursor:pointer;font-size:.78rem;font-weight:600;font-family:var(--font-body);box-shadow:var(--shadow-sm);background:#fff;border:1.5px solid #0000001f;padding:5px 11px;transition:all .12s}.ai-feat-btn:hover{background:var(--accent-2);border-color:var(--accent-3)}.radar-banner{background:linear-gradient(135deg,var(--bg-2) 0%,var(--bg-3) 100%);border:1.5px solid var(--bdr-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:1rem 1.25rem;display:flex}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.25}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-fade-up{animation:.35s both fade-up}.animate-fade-in{animation:.3s both fade-in}.animate-spin{animation:.8s linear infinite spin}.metrics-grid{grid-template-columns:repeat(3,1fr);display:grid}.two-col-grid{grid-template-columns:1fr 1fr;display:grid}.line-items-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.line-items-scroll>*{min-width:560px}@media (max-width:768px){.sidebar{display:none}.main{padding:1rem 1rem 6rem}.auth-right{display:none}.auth-left{align-items:flex-start;padding:2rem 1.25rem 1.25rem}.auth-card{border-radius:var(--radius-lg);padding:1.5rem}.mobile-nav{z-index:50;background:#fff;border-top:1.5px solid #00000014;gap:2px;padding:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000000f}.metrics-grid{grid-template-columns:1fr 1fr}.two-col-grid{grid-template-columns:1fr}.card{padding:1rem}.permit-card{padding:.75rem}}@media (min-width:769px) and (max-width:1024px){.sidebar{width:192px}.main{padding:1.5rem 1.75rem}}@media (min-width:769px){.mobile-nav{display:none}}
