:root{--bg: #f7f7f5;--surface: #ffffff;--border: #e2e2df;--text: #1c1c1a;--muted: #6b6b66;--brand: #0078fe;--brand-dark: #0060cc;--danger-bg: #fdecec;--danger-text: #9b2c2c;--callout-bg: #fff8e6;--callout-border: #f0c975;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-weight:700;font-size:1.1rem;color:var(--brand-dark);text-decoration:none;display:inline-flex;align-items:center}.brand-logo{height:24px;width:auto;display:block}.topnav{display:flex;align-items:center;gap:1.25rem;font-size:.92rem}.topnav a{color:var(--text);text-decoration:none}.topnav a:hover{color:var(--brand)}.nav-dropdown{position:relative}.nav-dropdown>summary{cursor:pointer;color:var(--text)}.nav-dropdown>summary:hover,.nav-dropdown[open]>summary{color:var(--brand)}.nav-dropdown-menu{position:absolute;top:calc(100% + .6rem);right:0;display:flex;flex-direction:column;min-width:170px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.4rem 0;box-shadow:0 4px 16px #0000001a;z-index:20}.nav-dropdown-menu a{padding:.45rem 1rem;white-space:nowrap}.nav-dropdown-menu a:hover{background:var(--bg)}.app-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1.5rem;padding:1rem 1.5rem;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.app-footer nav{display:flex;gap:1.25rem}.app-footer a{color:var(--muted);text-decoration:none}.app-footer a:hover{color:var(--brand)}.company-name{color:var(--muted)}.link-button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.92rem;padding:0}.link-button:hover{color:var(--text)}.content{flex:1;padding:2rem 1.5rem;max-width:960px;margin:0 auto;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.75rem;margin-bottom:1.5rem}.card h1{margin-top:0;font-size:1.4rem}.card h2{margin-top:0;font-size:1.1rem}form.card label{display:block;margin-bottom:1rem;font-size:.9rem;color:var(--muted)}.form-row{display:flex;gap:1rem}.form-row label{flex:1}input{display:block;width:100%;margin-top:.35rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem;color:var(--text);background:var(--surface)}input:focus{outline:2px solid var(--brand);outline-offset:1px}button,.button{display:inline-block;background:var(--brand);color:#fff;border:none;border-radius:6px;padding:.6rem 1.1rem;font-size:.95rem;cursor:pointer;text-decoration:none;margin-top:.25rem}button:hover,.button:hover{background:var(--brand-dark)}button:disabled{opacity:.6;cursor:not-allowed}.button-secondary{background:var(--surface);color:var(--brand-dark);border:1px solid var(--border)}.button-secondary:hover{background:var(--bg)}.muted{color:var(--muted);font-size:.9rem}.error-banner{background:var(--danger-bg);color:var(--danger-text);border-radius:6px;padding:.6rem .9rem;font-size:.9rem;margin-bottom:1rem}.callout{background:var(--callout-bg);border:1px solid var(--callout-border);border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.callout ul{margin:.5rem 0;padding-left:1.25rem}.auth-page{display:flex;justify-content:center;padding-top:2rem}.auth-page .card{width:100%;max-width:400px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{color:var(--muted);font-size:.85rem}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.steps{list-style:none;display:flex;gap:1.5rem;padding:0;margin-bottom:1.5rem;font-size:.9rem;color:var(--muted)}.steps li.active{color:var(--brand);font-weight:600}.steps li.done{color:var(--text)}.steps li.done:after{content:" ✓"}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.page-header h1{margin:0}.data-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;font-size:.92rem}.data-table th,.data-table td{text-align:left;padding:.65rem 1rem;border-bottom:1px solid var(--border)}.data-table th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.data-table tbody tr:last-child td{border-bottom:none}.data-table a{color:var(--brand-dark);text-decoration:none;font-weight:600}.data-table a:hover{text-decoration:underline}.status-pill{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600}.status-idle,.status-active{background:#e6f4ea;color:#1f6f4e}.status-running{background:#e5f0ff;color:#1d4ed8}.status-warned{background:var(--callout-bg);color:#92620a}.status-cutoff,.status-cancelled{background:var(--danger-bg);color:var(--danger-text)}.status-scheduled{background:var(--bg);color:var(--muted)}.status-inprogress{background:#e5f0ff;color:#1d4ed8}.status-completed{background:#e6f4ea;color:#1f6f4e}.checkbox-label,.inline-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text);margin-bottom:.75rem}.checkbox-label input,.inline-label input{width:auto;margin:0}select,textarea{display:block;width:100%;margin-top:.35rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem;font-family:inherit;color:var(--text);background:var(--surface)}select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.photo-thumb{position:relative;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;line-height:1;border-radius:50%;background:#0009;color:#fff;font-size:.9rem;margin-top:0}.photo-remove:hover{background:#000c}.charge-row{padding:.9rem 0;border-bottom:1px solid var(--border)}.charge-row:last-child{border-bottom:none;padding-bottom:0}.charge-row-header{display:flex;justify-content:space-between;align-items:baseline;font-size:1rem}.charge-row .photo-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));margin-top:.5rem;margin-bottom:0}.charge-row .photo-thumb{aspect-ratio:1}
