:root { --ink:#fff8f5; --muted:#c5bbb5; --accent:#FE5600; --line:rgba(255,255,255,.18); --glass:rgba(15,15,17,.72); --shadow:0 28px 80px rgba(0,0,0,.52); }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; color:var(--ink); font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif; background:radial-gradient(circle at 10% 0,#4b1a08 0,transparent 31rem),radial-gradient(circle at 94% 18%,#34140b 0,transparent 28rem),linear-gradient(135deg,#050505,#17100d 56%,#080706); background-attachment:fixed; }
body:before,body:after { content:""; position:fixed; z-index:-1; width:25rem; height:25rem; border-radius:50%; opacity:.2; filter:blur(65px); pointer-events:none; }
body:before { left:-11rem; bottom:-12rem; background:#FE5600; } body:after { right:-12rem; bottom:0; background:#b73300; }
.shell { width:min(80vw,1240px); margin:58px auto 90px; } .admin-shell { width:min(94vw,1640px); }
.eyebrow { color:var(--accent); font-size:.72rem; font-weight:800; letter-spacing:.17em; } h1 { margin:8px 0 12px; font-size:clamp(2.2rem,5vw,3.6rem); line-height:1.06; letter-spacing:-.045em; } h2 { margin:0 0 5px; font-size:1.3rem; } h3 { margin:0; font-size:1.13rem; } h4 { margin:24px 0 4px; font-size:1rem; }
.intro,.helper { margin:0 0 18px; color:var(--muted); }.helper { font-size:.9rem; }
.card,.brand-card { margin:20px 0; padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--glass); box-shadow:var(--shadow); backdrop-filter:blur(23px); -webkit-backdrop-filter:blur(23px); }.brand-card { background:rgba(34,25,22,.67); border-color:rgba(254,86,0,.38); box-shadow:none; animation:rise .28s ease both; } @keyframes rise { from{opacity:0;transform:translateY(9px)} to{opacity:1;transform:translateY(0)} }
.brand-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; } label,legend { font-weight:700; } label { display:block; } span { margin-left:2px; color:var(--accent); }
input,select,textarea { width:100%; margin:6px 0 16px; padding:11px 13px; border:1px solid rgba(255,255,255,.26); border-radius:10px; color:var(--ink); background:rgba(0,0,0,.5); font:inherit; transition:.16s border-color,.16s box-shadow,.16s background; } textarea { min-height:130px; resize:vertical; } select option { background:#17100d; } input:focus,select:focus,textarea:focus { outline:0; border-color:var(--accent); background:rgba(0,0,0,.76); box-shadow:0 0 0 4px rgba(254,86,0,.16); }
fieldset { margin:16px 0; padding:0; border:0; }.choice { display:inline-flex; align-items:center; gap:10px; margin:7px 24px 7px 0; font-weight:500; }.choice input { width:auto; margin:0; accent-color:var(--accent); }
.brand-input-row,.custom-task { display:flex; gap:11px; align-items:flex-end; }.brand-input-row input { margin:0; }.secondary,.remove { padding:10px 15px; border:1px solid rgba(254,86,0,.7); border-radius:10px; color:#ffe3d2; background:rgba(254,86,0,.1); font-weight:750; white-space:nowrap; cursor:pointer; transition:.15s transform,.15s background; }.secondary:hover { transform:translateY(-1px); background:rgba(254,86,0,.24); }.remove { border-color:rgba(255,153,159,.65); background:rgba(173,25,37,.14); color:#ffd7da; padding:7px 11px; }
.frequency-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.task-row { display:flex; align-items:center; gap:12px; min-height:53px; padding:8px 11px; border:1px solid rgba(255,255,255,.1); border-radius:11px; background:rgba(255,255,255,.07); }.task-select { display:flex; flex:1; align-items:center; gap:13px; min-width:0; font-weight:550; }.task-select input { width:auto; margin:0; transform:scale(1.12); accent-color:var(--accent); }.task-row select { width:140px; margin:0; padding:8px; font-size:.87rem; }.task-row select:disabled { opacity:.34; }
.custom-task { margin-top:20px; }.custom-task label { flex:1; font-size:.9rem; }.custom-task label+label { max-width:160px; }.custom-task input,.custom-task select { margin:4px 0 0; }.extra-task { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:12px 0; border-top:1px solid var(--line); }.extra-task button { border:0; color:#ffd7da; background:transparent; cursor:pointer; }.attendance { margin-top:20px; padding:14px; border:1px solid rgba(244,185,82,.3); border-radius:11px; background:rgba(244,185,82,.13); }
.submit { width:100%; padding:14px; border:0; border-radius:11px; color:#fff; background:linear-gradient(135deg,#FE5600,#c83e00); box-shadow:0 10px 26px rgba(254,86,0,.26); font-size:1rem; font-weight:850; cursor:pointer; transition:.15s transform,.15s filter; }.submit:hover { transform:translateY(-1px); filter:brightness(1.08); }.alert { margin:18px 0; padding:13px; border:1px solid rgba(255,153,159,.65); border-radius:11px; color:#ffe4e6; background:rgba(155,29,42,.35); }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.admin-actions { display:flex; align-items:center; gap:12px; margin-bottom:20px; }.admin-actions form { flex:1; }.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:14px; background:rgba(0,0,0,.32); } table { width:100%; min-width:1130px; border-collapse:collapse; font-size:.95rem; } th,td { padding:16px 18px; border-bottom:1px solid rgba(255,255,255,.11); text-align:left; vertical-align:top; } th { position:sticky; top:0; background:#2b1208; color:#fff4ed; font-size:.76rem; letter-spacing:.05em; text-transform:uppercase; } td { color:#e6ded8; white-space:pre-line; line-height:1.55; }.empty { padding:30px; text-align:center; color:var(--muted); }
.review-overlay { position:fixed; inset:0; z-index:50; display:grid; place-items:center; padding:20px; background:rgba(0,0,0,.75); backdrop-filter:blur(9px); }.review-modal { width:min(690px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:28px; border:1px solid rgba(254,86,0,.45); border-radius:20px; background:rgba(18,15,14,.97); box-shadow:var(--shadow); }.review-content { margin:20px 0; }.review-line { display:grid; grid-template-columns:170px 1fr; gap:18px; padding:13px 0; border-bottom:1px solid var(--line); }.review-line strong { color:var(--accent); }.review-actions { display:flex; gap:12px; margin-top:22px; }.review-actions .submit { flex:1; }
.brand-logo { display:block; width:auto; height:38px; max-width:135px; object-fit:contain; object-position:left center; margin:0 0 20px; }.brand-summary { display:flex; flex-direction:column; gap:4px; min-width:220px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.1); }.brand-summary:last-child { border-bottom:0; }.brand-summary strong { color:#fff; }.brand-summary small { display:inline-block; margin-left:6px; color:#ffb58e; font-weight:600; }.brand-summary span { margin:0; color:#d9d0ca; }.hidden-form { display:none; }.sign-out { margin-top:20px; }.shoot-lead-name { margin-top:10px; }.thank-you-shell { min-height:100vh; display:flex; align-items:center; justify-content:center; margin:0 auto; text-align:center; }.thank-you-shell .card { width:min(560px,100%); }.thank-you-shell .eyebrow { margin-bottom:10px; }.thank-you-shell .intro { margin-bottom:26px; }
@media(max-width:720px) { .shell,.admin-shell { width:90vw; margin-top:28px; }.card,.brand-card { padding:19px; border-radius:16px; }.brand-input-row,.custom-task { align-items:stretch; flex-direction:column; }.brand-input-row button,.custom-task button { width:100%; }.custom-task label+label { max-width:none; }.frequency-grid { grid-template-columns:1fr; }.task-row { gap:10px; }.task-select { gap:15px; }.task-row select { width:145px; }.admin-actions,.review-actions { align-items:stretch; flex-direction:column; }.admin-actions form { width:100%; }.review-line { grid-template-columns:1fr; gap:4px; } h1 { font-size:2.3rem; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { transition:none!important; animation:none!important; } }
