@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@500&display=swap");:root{--graphite:#2b3238;--graphite-soft:#3a424a;--putty:#f2eee6;--putty-card:#fbfaf7;--orange:#d96a34;--orange-dark:#b8541f;--patina:#5c7a6e;--stone:#8a8378;--stone-line:#e3ded3;--text-dark:#23282c}*{box-sizing:border-box;margin:0;padding:0}body{font-family:IBM Plex Sans,sans-serif;background:var(--putty);color:var(--text-dark);font-size:14px}.font-display,h1,h2,h3{font-family:Archivo,sans-serif}.font-mono{font-family:IBM Plex Mono,monospace}.btn-primary{background:var(--orange);color:#fff;border:none;padding:11px 20px;border-radius:4px;font-weight:600;font-size:14px;cursor:pointer}.btn-primary:hover{background:var(--orange-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.input-field{width:100%;padding:10px 12px;border:1px solid var(--stone-line);border-radius:4px;font-size:14px;font-family:IBM Plex Sans,sans-serif;background:#fff}.input-field:focus{outline:none;border-color:var(--orange)}.auth-shell{min-height:100vh;display:flex}.auth-brand-panel{width:42%;background:var(--graphite);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:48px;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(135deg,hsla(0,0%,100%,.025),hsla(0,0%,100%,.025) 2px,transparent 0,transparent 26px);pointer-events:none}.auth-brand-panel:after{content:"";position:absolute;bottom:-60px;right:-60px;width:240px;height:240px;background:var(--orange);opacity:.12;-webkit-clip-path:polygon(0 100%,100% 100%,100% 0);clip-path:polygon(0 100%,100% 100%,100% 0)}.auth-form-panel{flex:1 1;display:flex;align-items:center;justify-content:center;padding:48px}.auth-form-card{width:100%;max-width:380px}.error-text{color:var(--orange-dark);font-size:13px;margin-top:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stat-card-animated{animation:fadeInUp .35s ease both}.skeleton-block{background:var(--stone-line);border-radius:4px;animation:pulse 1.4s ease-in-out infinite}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover{background:rgba(217,106,52,.05)}.data-table thead th{background:rgba(43,50,56,.03)}.status-pill{display:inline-block;padding:3px 9px;border-radius:3px;font-family:IBM Plex Mono,monospace;font-size:10.5px;text-transform:uppercase;font-weight:600;letter-spacing:.3px}.grid-stats-5{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:16px;gap:16px}.grid-2col{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.grid-3col{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.job-detail-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:24px;gap:24px;align-items:start}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.line-item-row{display:grid;grid-template-columns:1fr 70px 100px;grid-gap:8px;gap:8px;margin-bottom:8px}.header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.kanban-scroll,.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.kanban-scroll{padding-bottom:8px}.app-main{min-width:0}.bottom-nav{display:none}@media (max-width:900px){.grid-3col,.grid-stats-5{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.form-grid-2,.grid-2col,.grid-3col,.grid-stats-5,.job-detail-grid,.line-item-row{grid-template-columns:1fr}.app-sidebar{position:fixed;left:-260px;top:0;bottom:0;z-index:40;width:min(80vw,260px)!important;transition:left .22s ease}.app-sidebar.mobile-open{left:0;box-shadow:4px 0 24px rgba(0,0,0,.25)}.app-main{padding:20px 16px calc(72px + env(safe-area-inset-bottom, 0px))!important}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--graphite);padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px));box-shadow:0 -2px 12px rgba(0,0,0,.15)}.bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 0;text-decoration:none;font-size:10px;font-weight:500;font-family:IBM Plex Sans,sans-serif;cursor:pointer}.mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(43,50,56,.5);z-index:39}.auth-shell{flex-direction:column}.auth-brand-panel{width:100%;padding:32px 24px}.auth-form-panel{padding:32px 24px}}.mobile-backdrop{display:none}@media print{.bottom-nav,.no-print{display:none!important}body{background:#fff}.app-main{padding:0!important}}