.cons-panel{padding:var(--sp-5);margin-bottom:var(--sp-5)}.cons-panel-label{font-family:var(--font-mono);font-size:var(--step-0);color:var(--text);letter-spacing:.08em;text-transform:uppercase;margin:0 0 var(--sp-4);font-weight:600}.cons-panel-head{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.cons-week-nav{align-items:center;gap:var(--sp-3);display:flex}.cons-week-label{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:center;min-width:14ch}.cons-note{color:var(--text-dim);font-size:var(--step--1);margin:var(--sp-2) 0 0}.cons-note[hidden]{display:none!important}.cons-grid{gap:var(--sp-3);margin-top:var(--sp-4);grid-template-columns:repeat(5,minmax(7.5rem,1fr));display:grid;overflow-x:auto}.cons-day{gap:var(--sp-2);flex-direction:column;display:flex}.cons-day-head{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);text-align:center;padding-bottom:var(--sp-1);border-bottom:1px solid var(--border);font-size:.72rem}.cons-slot{font-family:var(--font-mono);font-size:var(--step--1);font-variant-numeric:tabular-nums;text-align:center;border-radius:var(--radius-s);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:0 0;padding:.45em 0}.cons-slot:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cons-slot:disabled{border-style:dashed;border-color:var(--border);color:var(--text-faint);cursor:not-allowed}.cons-slot[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.cons-legend{align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);font-family:var(--font-mono);color:var(--text-dim);font-size:.72rem;display:flex}.cons-leg{border:1px solid var(--border-strong);border-radius:2px;width:10px;height:10px;display:inline-block}.cons-leg-booked{border-style:dashed;border-color:var(--border)}.cons-leg-sel{background:var(--accent-soft);border-color:var(--accent)}#cons-booking[hidden],#cons-pay[hidden],#cons-done[hidden]{display:none!important}.cons-slot-line{color:var(--text-dim);font-size:var(--step--1);align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.cons-slot-line strong{color:var(--text);font-family:var(--font-mono)}.cons-form{gap:var(--sp-4);margin-top:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.cons-field{gap:var(--sp-2);flex-direction:column;display:flex}.cons-field-wide{grid-column:1/-1}.cons-label{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.cons-input{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text);background:var(--bg-well);border:1px solid var(--border-strong);border-radius:var(--radius-s);padding:.6rem .9rem}.cons-input:focus{outline:2px solid var(--cyan);outline-offset:1px}.cons-textarea{font-family:var(--font-body);resize:vertical}.cons-form .btn{grid-column:1/-1;justify-self:start}.cons-error{font-family:var(--font-mono);font-size:var(--step--1);color:var(--red);grid-column:1/-1;margin:0}.cons-error[hidden]{display:none!important}.cons-pay{margin-top:var(--sp-5);border-top:1px solid var(--border);padding-top:var(--sp-5)}.cons-pay-title{font-family:var(--font-display);font-size:var(--step-1);margin:0 0 var(--sp-2)}.cons-pay .field{gap:var(--sp-2);margin-top:var(--sp-4);flex-direction:column;display:flex}.cons-pay .field-label{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.cons-pay .key-reveal-shell{align-items:center;gap:var(--sp-3);background:var(--bg-well);border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--sp-3) var(--sp-4);display:flex;overflow-x:auto}.cons-pay .key-display-full{font-family:var(--font-mono);font-size:var(--step--1);color:var(--accent);white-space:pre;flex:1}.cons-actions{margin-top:var(--sp-4)}.cons-done{margin-top:var(--sp-4);font-family:var(--font-mono);font-size:var(--step--1);color:var(--cyan)}.cons-mine-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-dim);display:flex}.cons-mine-row:first-child{border-top:none}.cons-mine-state{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}
