:root{font-family:Inter,system-ui,sans-serif;color:#e2e8f0;background:radial-gradient(circle at top left,rgba(14,116,144,.28),transparent 0 28%),linear-gradient(135deg,#082f49,#0f172a 45%,#172554)}*{box-sizing:border-box}body{margin:0;min-width:320px}button{cursor:pointer;border:0;border-radius:999px;padding:.8rem 1.15rem;background:linear-gradient(135deg,#0891b2,#2563eb);color:#fff;font-weight:600}button:disabled{opacity:.65;cursor:not-allowed}input,select,textarea{padding:.85rem 1rem;border-radius:14px;border:1px solid #cbd5e1;background:#fff;min-width:220px;font:inherit}nav{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}nav a{text-decoration:none;color:#0f766e;font-weight:600}.shell{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#fffffff5;border-bottom:1px solid #e2e8f0}.card{background:#fffffffa;color:#0f172a;margin:1.5rem;padding:1.4rem;border-radius:20px;box-shadow:0 18px 48px #0f172a29}.hero-card{min-height:220px}.page-grid{display:grid;grid-template-columns:2fr 1fr}.photographer-grid{grid-template-columns:1.3fr .7fr}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.login-hero{width:min(1120px,100%);display:grid;grid-template-columns:1.3fr .9fr;gap:1.25rem}.hero-copy,.login-panel{background:#0f172ac7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(148,163,184,.22);border-radius:24px;padding:1.5rem}.hero-copy h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.05}.eyebrow{display:inline-flex;margin-bottom:.75rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#67e8f9}.feature-list,.task-list,.invite-list{margin:0;padding-left:1.2rem;display:grid;gap:.6rem}.task-list,.invite-list{padding-left:0}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}.stat-tile{display:grid;gap:.3rem;padding:.9rem;border-radius:16px;background:#ecfeff}.stat-tile strong{font-size:1.45rem}.task-row,.invite-card,.calendar-day{border:1px solid #e2e8f0;border-radius:16px;padding:.9rem;background:#f8fafc}.row,.status-row,.section-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.chip{display:inline-flex;align-items:center;padding:.28rem .7rem;border-radius:999px;font-size:.85rem;font-weight:700}.chip-pending{background:#fef3c7;color:#92400e}.chip-done{background:#dcfce7;color:#166534}.chip-muted{background:#e2e8f0;color:#475569}.availability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.calendar-day{display:grid;gap:.75rem;align-content:start}.availability-select{min-width:0}.mini-card{align-self:start}.muted{color:#64748b}.error{color:#fca5a5}.secondary-button{background:#e2e8f0;color:#0f172a}.button-link{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.15rem;border-radius:999px;font-weight:600;text-decoration:none}.upload-panel{display:grid;gap:1rem;align-content:start}.upload-sidebar{align-self:start;position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);overflow:hidden}.upload-sidebar-scroll{display:grid;gap:1rem;max-height:calc(100vh - 6rem);overflow-y:auto;padding-right:.35rem}.upload-sidebar-section{display:grid;gap:.75rem}.upload-field{display:grid;gap:.5rem}.upload-history{display:grid;gap:.75rem}.upload-history-row{display:grid;gap:.2rem;padding:.75rem .9rem;border-radius:14px;border:1px solid #e2e8f0;background:#f8fafc}.assignment-list{display:grid;gap:.75rem}.assignment-card{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.9rem;border-radius:14px;border:1px solid #cbd5e1;background:#f8fafc}.assignment-card-selected{border-color:#0ea5e9;background:#ecfeff}.assignment-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:.6rem}.status-select{min-width:160px}.progress-panel{display:grid;gap:.6rem;padding:.9rem;border-radius:14px;border:1px solid #cbd5e1;background:#f8fafc}.progress-bar-track{width:100%;height:12px;overflow:hidden;border-radius:999px;background:#dbeafe}.progress-bar-fill{height:100%;border-radius:999px;background:linear-gradient(135deg,#0891b2,#2563eb);transition:width .2s ease}@media(max-width:900px){.page-grid,.login-hero,.photographer-grid,.availability-grid,.stat-grid{grid-template-columns:1fr}.upload-sidebar{position:static;max-height:none}.upload-sidebar-scroll{max-height:none;overflow:visible;padding-right:0}.app-header{align-items:flex-start;flex-direction:column}}
