.app-main{max-width:var(--max-w);margin:0 auto;padding:120px 24px 96px;min-height:70vh}.app-main.narrow{max-width:560px}.page-head{margin-bottom:40px}.page-head h1{font:700 clamp(32px,5vw,46px)/1.1 var(--font-display);color:var(--text);margin-bottom:12px}.page-head p{color:var(--text-2);max-width:62ch}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.card+.card{margin-top:16px}.card h2,.card h3{font-family:var(--font-display);font-weight:700;color:var(--text);margin-bottom:4px}.muted{color:var(--text-2)}.small{font-size:13px}.gold{color:var(--gold-light)}.stepper{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap}.step{flex:1 1 120px;border-top:2px solid var(--border);padding-top:10px;font:600 11px/1.4 var(--font-body);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-2);transition:color .2s,border-color .2s}.step.active{color:var(--gold-light);border-top-color:var(--gold)}.step.done{color:var(--text-2);border-top-color:var(--gold-dark)}.field{display:block;margin-bottom:18px}.field>span.label{display:block;font:600 11px/1 var(--font-body);letter-spacing:1.4px;text-transform:uppercase;color:var(--text-2);margin-bottom:8px}.field input,.field select,.field textarea{width:100%;background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;padding:14px 16px;color:var(--text);font:400 15px/1.4 var(--font-body);transition:border-color .18s,box-shadow .18s}.field textarea{min-height:96px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-dark);box-shadow:0 0 0 3px #c9a84c24}.field input::placeholder,.field textarea::placeholder{color:#6e6a62}.field .hint{display:block;margin-top:6px;font-size:12px;color:var(--text-2)}.field .error{display:block;margin-top:6px;font-size:12px;color:#e0736a}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:560px){.field-row{grid-template-columns:1fr;gap:0}}.checkbox{display:flex;gap:12px;align-items:flex-start;cursor:pointer;color:var(--text-2);font-size:14px;line-height:1.5}.checkbox input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold)}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.full{width:100%;justify-content:center}.btn.small{padding:10px 18px;font-size:12px}.btn-link{background:none;border:0;color:var(--gold-light);font:600 14px/1 var(--font-body);cursor:pointer;padding:4px 0}.btn-link.danger{color:#e0736a}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.alert{border-radius:12px;padding:14px 16px;font-size:14px;margin-bottom:20px;border:1px solid transparent}.alert.error{background:#e0736a1a;border-color:#e0736a59;color:#e9a29b}.alert.info{background:#c9a84c14;border-color:#c9a84c4d;color:var(--gold-light)}.alert.success{background:#7eb0791a;border-color:#7eb07952;color:#a7d3a2}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.tile{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;color:var(--text);cursor:pointer;transition:border-color .18s,background .18s,transform .12s;font-family:var(--font-body)}.tile:hover{border-color:var(--gold-dark)}.tile:active{transform:scale(.99)}.tile.selected{border-color:var(--gold);background:#c9a84c12}.tile .name{display:block;font-weight:600;margin-bottom:4px}.tile .meta{display:block;font-size:13px;color:var(--text-2)}.tile .price{float:right;color:var(--gold-light);font-weight:600}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.slot{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 8px;color:var(--text);font:600 15px/1.2 var(--font-body);cursor:pointer;transition:border-color .18s,background .18s}.slot span{display:block;font:400 11px/1.4 var(--font-body);color:var(--text-2);margin-top:4px}.slot:hover{border-color:var(--gold-dark)}.slot.selected{border-color:var(--gold);background:#c9a84c17}.day-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:24px;scrollbar-width:thin}.day{flex:0 0 auto;min-width:72px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;text-align:center;color:var(--text);cursor:pointer;font-family:var(--font-body)}.day small{display:block;font-size:11px;color:var(--text-2);text-transform:uppercase;letter-spacing:1px}.day strong{display:block;font-size:18px;font-weight:600;margin-top:2px}.day.selected{border-color:var(--gold);background:#c9a84c17}.day.closed{opacity:.38;cursor:not-allowed}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:15px}.summary-row:last-child{border-bottom:0}.summary-row .k{color:var(--text-2)}.summary-row .v{text-align:right}.summary-row.total{font-weight:700;color:var(--gold-light);font-size:17px}.badge{display:inline-block;border-radius:999px;padding:4px 12px;font:600 11px/1.5 var(--font-body);letter-spacing:1px;text-transform:uppercase}.badge.pending{background:#c9a84c24;color:var(--gold-light)}.badge.confirmed{background:#7eb07924;color:#a7d3a2}.badge.cancelled{background:#e0736a21;color:#e9a29b}.badge.neutral{background:var(--surface-alt);color:var(--text-2)}.doc-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.doc-row:last-of-type{border-bottom:0}.doc-row .doc-name{font-weight:600;display:block}.spinner{width:22px;height:22px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.center{text-align:center}.stack>*+*{margin-top:16px}:target{scroll-margin-top:90px}.route-fade{animation:route-in .5s cubic-bezier(.16,1,.3,1) both}@keyframes route-in{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}.site-header .brand img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid rgba(201,168,76,.35);transition:border-color .25s,box-shadow .3s,transform .3s}.site-header .brand:hover img{border-color:var(--gold);box-shadow:0 0 22px #c9a84c47;transform:scale(1.04)}.hero-3d{width:min(100%,420px);aspect-ratio:1;margin:0 auto 8px;display:grid;place-items:center}.hero-3d canvas{width:100%!important;height:100%!important;filter:drop-shadow(0 18px 60px rgba(201,168,76,.28));animation:coin-in .6s ease both}@keyframes coin-in{0%{opacity:0}to{opacity:1}}.tile,.slot,.day,.doc-row{animation:pop-in .45s cubic-bezier(.16,1,.3,1) both}.slot-grid .slot:nth-child(n+9){animation-delay:.05s}.slot-grid .slot:nth-child(n+17){animation-delay:.1s}@keyframes pop-in{0%{opacity:0;transform:translate3d(0,10px,0) scale(.97)}to{opacity:1;transform:none}}.tile,.slot,.day{transition:border-color .18s,background .18s,transform .18s,box-shadow .25s}.tile.selected,.slot.selected,.day.selected{transform:translateY(-2px);box-shadow:0 10px 30px #c9a84c26}.step.active{border-top-color:transparent;position:relative}.step.active:after{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform-origin:0 50%;animation:draw .6s cubic-bezier(.16,1,.3,1) both}@keyframes draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.card{transition:border-color .25s,box-shadow .35s,transform .5s cubic-bezier(.16,1,.3,1)}.card:hover{border-color:var(--gold-dark);box-shadow:0 18px 50px #00000059}.alert{animation:pop-in .4s cubic-bezier(.16,1,.3,1) both}.spinner{box-shadow:0 0 18px #c9a84c2e}@media(prefers-reduced-motion:reduce){.route-fade,.tile,.slot,.day,.doc-row,.alert,.hero-3d canvas,.step.active:after{animation:none!important}.tile,.slot,.day,.card{transition:none!important}.tile.selected,.slot.selected,.day.selected{transform:none}}
