:root{color-scheme:light;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;--bg: #f6f7fb;--surface: #ffffff;--surface-alt: #fdf4ea;--border: #e2e8f0;--border-strong: #fdba74;--text: #0f172a;--text-muted: #64748b;--accent: #ea580c;--accent-soft: #fff1e6;--danger: #be123c;--danger-soft: #fff1f2;--success: #047857;--success-soft: #ecfdf5;--shadow: 0 24px 50px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(251,146,60,.18),transparent 30%),linear-gradient(180deg,#fff7ed 0%,var(--bg) 40%,#eef2ff 100%);color:var(--text)}button,input{font:inherit}.hidden{display:none!important}.page-shell{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.hero-card,.panel,.notice{border:1px solid var(--border);border-radius:28px;background:#ffffffeb;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-card{padding:28px;display:flex;gap:24px;align-items:flex-start;justify-content:space-between}.eyebrow,.panel-eyebrow,.session-label{margin:0;text-transform:uppercase;letter-spacing:.28em;font-size:12px;color:var(--accent)}.hero-copy h1,.panel-heading h2,.panel-heading h3{margin:12px 0 0}.hero-copy h1{font-size:clamp(2rem,5vw,3.3rem);line-height:1.02}.hero-text,.muted{color:var(--text-muted)}.hero-text{max-width:640px;line-height:1.8;margin:16px 0 0}.session-banner{min-width:240px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:22px;border:1px solid var(--border);background:var(--surface-alt)}.session-name{margin:6px 0 0;font-size:1.1rem;font-weight:700}.notice{margin-top:20px;padding:16px 18px;line-height:1.6}.notice.error{color:var(--danger);background:var(--danger-soft);border-color:#fecdd3}.notice.success{color:var(--success);background:var(--success-soft);border-color:#bbf7d0}.auth-panel,.app-grid{margin-top:24px}.panel{padding:24px}.panel-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.panel-heading.compact{margin-bottom:8px}.stack-lg{display:grid;gap:16px}.field{display:grid;gap:8px}.field span{font-size:.92rem;font-weight:600}.field input{width:100%;border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px 16px;color:var(--text);outline:none}.field input:focus{border-color:var(--border-strong);box-shadow:0 0 0 4px #fb923c26}.button{border:none;border-radius:18px;padding:13px 18px;cursor:pointer;font-weight:700;transition:transform .16s ease,opacity .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.button-primary{background:var(--accent);color:#fff}.button-secondary,.button-ghost{background:#fff;color:var(--text);border:1px solid var(--border)}.tenant-selection{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}.tenant-list,.jobsites-list,.summary-grid{display:grid;gap:14px}.tenant-item,.jobsite-item,.summary-card{border:1px solid var(--border);border-radius:22px;background:#fff}.tenant-item{width:100%;padding:18px;text-align:left}.tenant-item strong,.jobsite-item h3,.summary-card strong{display:block;color:var(--text)}.tenant-item span,.jobsite-meta,.jobsite-item p,.summary-card span{color:var(--text-muted)}.app-grid{display:grid;gap:24px;grid-template-columns:minmax(320px,390px) minmax(0,1fr)}.two-col{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.summary-card{padding:18px}.summary-card span{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:.18em}.summary-card strong{margin-top:8px;font-size:1.75rem}.jobsite-item{padding:18px}.jobsite-item h3{margin:0;font-size:1.1rem}.jobsite-item p{margin:10px 0 0;line-height:1.6}.jobsite-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;font-size:.92rem}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.82rem;font-weight:700}.chip.success{background:var(--success-soft);color:var(--success)}.chip.muted{background:#f8fafc;color:var(--text-muted)}@media(max-width:920px){.hero-card,.app-grid,.summary-grid,.two-col{grid-template-columns:1fr}.hero-card{flex-direction:column}.session-banner{width:100%}}
