:root{--color-primary:#1f2937;--color-secondary:#4b5563;--color-bg:#f7f7f8;--color-surface:#ffffff;--color-text:#111827;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-danger:#b91c1c;--color-success:#15803d;--color-warning-bg:#fef3c7;--color-warning-border:#f59e0b;--radius:6px;--space:1rem}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}a{color:var(--color-primary)}h1,h2,h3{line-height:1.2}.app-header{background:var(--color-primary);color:#fff;padding:.6rem var(--space);gap:1rem;flex-wrap:wrap}.app-header,.app-header .brand{display:flex;align-items:center}.app-header .brand{font-weight:700;font-size:1.05rem;gap:.5rem}.app-header .brand img{max-height:28px}.app-nav{display:flex;gap:.25rem;flex-wrap:wrap}.app-nav a{color:#fff;text-decoration:none;padding:.35rem .6rem;border-radius:var(--radius);opacity:.9}.app-nav a:hover{background:var(--color-secondary);opacity:1}.app-header .spacer{flex:1 1}.app-header .whoami{font-size:.85rem;opacity:.9}.app-main{max-width:64rem;margin:0 auto;padding:var(--space)}.app-footer{text-align:center;font-size:.8rem;color:var(--color-text-muted);padding:1.5rem var(--space) 2rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space)}.card,.nav-tiles{margin-bottom:var(--space)}.nav-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));grid-gap:.6rem;gap:.6rem}.nav-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.9rem .5rem;min-height:5.2rem;text-decoration:none;color:inherit;text-align:center;font-weight:600;font-size:.9rem;line-height:1.2}.nav-tile:focus-visible,.nav-tile:hover{border-color:var(--color-primary);box-shadow:0 1px 4px rgba(0,0,0,.08)}.nav-tile .tile-icon{font-size:1.7rem;line-height:1}.btn{display:inline-block;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);padding:.5rem .9rem;font-size:.95rem;cursor:pointer;text-decoration:none}.btn:hover{background:var(--color-secondary)}.btn-secondary{background:transparent;color:var(--color-primary);border:1px solid var(--color-border)}.btn-danger{background:var(--color-danger)}.field{display:block;margin-bottom:.75rem}.field>span{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.field input,.field select,.field textarea{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:#fff}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table td,.table th{text-align:left;padding:.5rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.table-wrap{overflow-x:auto}.muted{color:var(--color-text-muted)}.error-text{color:var(--color-danger);font-size:.9rem}.empty-state{text-align:center;color:var(--color-text-muted);padding:2rem 1rem}.badge{display:inline-block;font-size:.75rem;padding:.1rem .5rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg)}.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space)}.auth-card{width:100%;max-width:22rem;background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:var(--radius);padding:1.5rem}.auth-card .brand{text-align:center;margin-bottom:1rem}.auth-card .brand img{max-height:48px}@media print{.app-footer,.app-header,.no-print{display:none!important}.app-main{padding:0!important}body{background:#fff!important}}