:root{--cream:#fbf4e4;--paper:#fffdf7;--forest:#1f4d2e;--yellow:#f0c94f;--peach:#f4b183;--ink:#1c1c1c;color:var(--ink);background:var(--cream);font-family:system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}.auth-screen{background:var(--cream);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--paper);border:2px solid var(--ink);width:min(420px,100%);box-shadow:8px 8px 0 var(--ink);border-radius:14px;padding:36px 32px}.auth-eyebrow{letter-spacing:.08em;text-transform:uppercase;background:var(--yellow);border:2px solid var(--ink);border-radius:999px;margin:0 0 20px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.auth-title{letter-spacing:-.02em;color:var(--forest);margin:0 0 6px;font-size:2rem;font-weight:800}.auth-subtitle{color:#4a4a3f;margin:0 0 28px;font-size:.95rem}.auth-form{gap:18px;display:grid}.field{gap:6px;display:grid}.field-label{font-size:.85rem;font-weight:700}.field-input{color:var(--ink);background:var(--cream);border:2px solid var(--ink);border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:1rem;transition:box-shadow .12s,transform .12s}.field-input:focus{box-shadow:4px 4px 0 var(--forest);transform:translate(-1px,-1px)}.field-input::placeholder{color:#9a9a8c}.auth-error{border:2px solid var(--ink);background:#fde0d5;border-radius:10px;margin:0;padding:10px 14px;font-size:.9rem;font-weight:600}.btn-primary{color:var(--cream);background:var(--forest);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);cursor:pointer;border-radius:10px;padding:14px 24px;font-family:inherit;font-size:1rem;font-weight:700;transition:transform .12s,box-shadow .12s}.btn-primary:hover:not(:disabled){box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.btn-primary:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin:24px 0 0;font-size:.9rem}.auth-switch a{color:var(--forest);text-underline-offset:2px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.auth-link{font:inherit;color:var(--forest);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.role-field{border:none;margin:0;padding:0}.role-field legend{margin-bottom:8px;padding:0}.role-group{grid-template-columns:1fr 1fr;gap:10px;display:grid}.role-option{background:var(--cream);border:2px solid var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-size:.95rem;font-weight:700;transition:transform .12s,background .12s;display:flex}.role-option input{accent-color:var(--forest)}.role-option:has(input:checked){background:var(--yellow);box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.shell{background:var(--cream);min-height:100vh}.shell-header{background:var(--paper);border-bottom:3px solid var(--ink);align-items:center;gap:16px;padding:16px 24px;display:flex}.shell-brand{letter-spacing:-.02em;color:var(--forest);margin:0;font-size:1.25rem;font-weight:800}.shell-spacer{flex:1}.shell-user{font-size:.9rem;font-weight:600}.shell-nav{flex-wrap:wrap;gap:10px;padding:16px 24px 0;display:flex}.nav-btn{color:var(--ink);background:var(--paper);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;border-radius:10px;padding:10px 18px;font-family:inherit;font-size:.9rem;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s}.nav-btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.nav-btn--active{background:var(--yellow)}.shell-main{max-width:960px;margin:0 auto;padding:24px}.page-header{margin-bottom:20px}.page-title{color:var(--forest);margin:0 0 4px;font-size:1.6rem;font-weight:800}.page-subtitle{color:#4a4a3f;margin:0;font-size:.95rem}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--paper);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:12px;padding:20px}.card-title{margin:10px 0 8px;font-size:1.1rem;font-weight:800}.card-meta{color:#4a4a3f;margin:4px 0;font-size:.9rem}.badge{letter-spacing:.05em;text-transform:uppercase;background:var(--cream);border:2px solid var(--ink);border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-block}.badge--available{background:var(--yellow)}.badge--claimed{background:var(--peach)}.badge--expired{background:#ddd}.muted{color:#7a7a6c;font-size:.9rem}.btn-secondary{color:var(--ink);background:var(--paper);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;border-radius:10px;padding:10px 18px;font-family:inherit;font-size:.9rem;font-weight:700;transition:transform .12s,box-shadow .12s}.btn-secondary:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field--full{grid-column:1/-1}textarea.field-input{resize:vertical;min-height:80px}.row-actions{gap:12px;margin:16px 0;display:flex}.badge--searching{background:var(--yellow)}.badge--completed{background:#b9e3c2}.badge--cancelled{background:#ddd}.card .btn-secondary,.card .btn-primary{margin-top:12px}.success-note{border:2px solid var(--ink);background:#d7f0da;border-radius:10px;margin-top:12px;padding:10px 14px;font-size:.9rem;font-weight:600}.claim-row{align-items:center;gap:8px;margin-top:12px;display:flex}.claim-row .field-input{width:84px}.field-static{color:#5a5a4d;border:2px dashed var(--ink);background:#f0ead8;border-radius:10px;padding:12px 14px;font-size:1rem}
