/* ============================================================
   Skrojone — wspólne style podstron (legal, checkout, intake,
   status, waitlist, kontakt, 404). Strona główna ma własne CSS.
   ============================================================ */
@import url("fonts.css");
:root{
  --bg:#FBF7F2;
  --ink:#241C16;
  --muted:#6B5A4C;
  --line:#ECE2D8;
  --accent:#A34A1F;
  --accent-2:#8A3D1C;
  --ok:#2E7C52;
  --bad:#C4281E;
  --card:#ffffff;
  --dark:#241C16;
  --radius:16px;
  --shadow:0 24px 60px -32px rgba(36,28,22,.35);
  /* Typografia: Fraunces (display, ciepły szeryf) + Manrope (treść/UI) */
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  /* Tekstura: ziarno zamiast gradientów (SVG feTurbulence, ~7% krycia) */
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:600; letter-spacing:-.015em; text-wrap:balance;}
p,li,summary{text-wrap:pretty;}
a{color:var(--accent); text-decoration-thickness:1px; text-underline-offset:3px;}
a:hover{color:var(--accent-2);}
img,svg{max-width:100%;}
.wrap{max-width:1040px; margin:0 auto; padding:0 20px;}
.narrow{max-width:780px;}
.hidden{display:none !important;}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:8px;}

/* NAV */
.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(36,28,22,.95);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  color:#fff;
}
.nav-inner{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:58px;}
.brand{display:inline-flex; align-items:center; gap:8px; color:#fff; text-decoration:none; font-family:var(--font-display); font-weight:700; font-size:19px; letter-spacing:.2px; white-space:nowrap;}
.brand:hover{color:#fff;}
.brand svg{flex:0 0 auto; width:26px; height:26px;}
.nav-links{display:flex; align-items:center; gap:18px; font-size:14px;}
.nav-links a{color:#ECE2D8; text-decoration:none;}
.nav-links a:hover{color:#fff;}
.nav-cta{background:var(--accent); color:#fff !important; padding:9px 15px; border-radius:10px; font-weight:700; white-space:nowrap;}
.nav-cta:hover{background:var(--accent-2); color:#fff !important;}
@media (max-width:720px){
  .nav-links a:not(.nav-cta){display:none;}
  .nav-inner{min-height:54px;}
  .brand{font-size:17px;}
  .brand svg{width:23px; height:23px;}
}

/* PAGE */
.page-main{padding:34px 0 64px;}
.page-hero{padding:8px 0 24px;}
.page-hero h1{font-size:clamp(25px,4vw,38px); line-height:1.15; letter-spacing:-.01em; font-weight:650; max-width:820px;}
.page-hero p.lead{color:var(--muted); font-size:17px; max-width:680px; margin-top:10px;}
.page-hero .meta{color:var(--muted); font-size:13px; margin-top:12px;}
.eyebrow{display:inline-block; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin-bottom:8px;}
.divider{height:1px; background:var(--line); margin:26px 0;}

/* CARDS / GRID */
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:0 1px 0 rgba(36,28,22,.02);}
.card-soft{background:#FDFAF5; border:1px solid var(--line); border-radius:var(--radius); padding:20px;}
.card h2,.card h3{margin-bottom:8px;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.two-col{display:grid; grid-template-columns:1.05fr .95fr; gap:18px; align-items:start;}
@media (max-width:820px){ .grid-2,.grid-3,.two-col{grid-template-columns:1fr;} }
.stack{display:grid; gap:12px;}
.stack-lg{display:grid; gap:20px;}

/* BUTTONS */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--accent); color:#fff; border:0; border-radius:12px;
  padding:13px 20px; font:inherit; font-size:15px; font-weight:700;
  cursor:pointer; text-align:center; text-decoration:none; line-height:1.35;
}
.btn:hover{background:var(--accent-2); color:#fff;}
.btn-secondary{background:var(--dark); color:#fff;}
.btn-secondary:hover{background:#3A2D24; color:#fff;}
.btn-ghost{background:transparent; color:var(--muted); border:1px solid var(--line);}
.btn-ghost:hover{background:#fff; color:var(--ink); border-color:#C9B9A9;}
.btn-small{padding:9px 13px; font-size:13.5px; border-radius:10px;}
.btn-block{display:flex; width:100%;}
.btn[disabled],.btn.disabled{background:#D8CCC0; color:#6B5A4C; cursor:not-allowed; pointer-events:none;}
.btn-secondary[disabled]{background:#D8CCC0; color:#6B5A4C;}
.linkbtn{background:none; border:0; padding:0; font:inherit; color:var(--muted); text-decoration:underline; cursor:pointer;}
.linkbtn:hover{color:var(--ink);}
.link-arrow{font-weight:700; text-decoration:none; color:var(--accent);}
.link-arrow:hover{text-decoration:underline;}

/* FORMS */
.form-field{margin-bottom:15px;}
.form-field > label,.form-label{display:block; font-size:13px; font-weight:700; color:var(--muted); margin-bottom:6px;}
input[type=text],input[type=email],input[type=url],input[type=tel],input[type=number],input[type=file],select,textarea{
  width:100%; border:1px solid var(--line); border-radius:12px;
  padding:12px 14px; font:inherit; font-size:15px; background:#fff; color:var(--ink);
}
textarea{min-height:120px; resize:vertical;}
input:focus,select:focus,textarea:focus{outline:2px solid #E8CDAF; border-color:var(--accent);}
input[type=file]{padding:10px; background:#FDFAF5;}
.checkbox{display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--muted); line-height:1.5; cursor:pointer; margin:10px 0;}
.checkbox input{margin-top:3px; flex:0 0 auto;}
.checkbox strong{color:var(--ink);}
.form-help{font-size:12.5px; color:var(--muted); margin-top:6px; line-height:1.45;}
.form-error{font-size:13px; color:var(--bad); background:#FDF1EE; border:1px solid #EFC8C0; border-radius:10px; padding:10px 12px; margin:12px 0;}
.form-ok{font-size:13.5px; color:#0C584F; background:#F1F7F4; border:1px solid #B9DCCF; border-radius:10px; padding:12px; margin:12px 0;}
.fieldset{border:0; margin:0 0 20px; padding:0;}
.fieldset legend{font-size:18px; font-weight:650; margin-bottom:10px; padding:0;}

/* NOTICES */
.notice{border-radius:12px; padding:14px 16px; font-size:13.5px; line-height:1.5; margin:14px 0;}
.notice-info{background:#FBF1E7; border:1px solid #E8CDAF; color:#8A3D1C;}
.notice-warn{background:#FDF1EE; border:1px solid #EFC8C0; color:#8A241C;}
.notice-ok{background:#F1F7F4; border:1px solid #B9DCCF; color:#0C584F;}
.notice strong{font-weight:800;}
.demo-strip{background-color:#241C16; background-image:var(--grain); color:#F0C48D; border-radius:12px; padding:12px 16px; font-size:13px; line-height:1.5; margin:0 0 18px;}
.demo-strip strong{color:#fff;}

/* BADGES */
.badge{display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); background:#fff; color:var(--muted); font-size:12.5px; padding:6px 10px; border-radius:999px;}
.badge-accent{background:#FBF1E7; border-color:#E8CDAF; color:#8A3D1C;}
.badge-ok{background:#F1F7F4; border-color:#B9DCCF; color:#0C584F;}
.badge-row{display:flex; gap:8px; flex-wrap:wrap; margin:14px 0;}

/* CHECKOUT */
.checkout-wrap{padding:28px 0 64px;}
.checkout-steps{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.step-chip{font-size:12.5px; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:999px; padding:7px 12px;}
.step-chip.active{background:var(--dark); color:#fff; border-color:var(--dark);}
.checkout-grid{display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); gap:20px; align-items:start;}
@media (max-width:860px){ .checkout-grid{grid-template-columns:1fr;} }
.checkout-main{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow);}
.checkout-main h1{font-size:clamp(24px,3.6vw,32px); line-height:1.2; letter-spacing:-.4px; margin-bottom:8px;}
.checkout-main h2{font-size:18px; margin:24px 0 10px;}
.checkout-main h2:first-of-type{margin-top:8px;}
.checkout-aside{position:sticky; top:78px;}
@media (max-width:860px){ .checkout-aside{position:static;} }
.summary-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow);}
.summary-card h3{font-size:17px; margin-bottom:12px;}
.summary-row{display:flex; justify-content:space-between; gap:12px; font-size:14px; padding:8px 0; border-bottom:1px solid #F4EFE9;}
.summary-row:last-of-type{border-bottom:0;}
.summary-row .muted{color:var(--muted);}
.summary-total{display:flex; justify-content:space-between; gap:12px; align-items:baseline; padding-top:12px; margin-top:6px; border-top:1px solid var(--line); font-weight:800;}
.summary-total .price{font-size:28px; letter-spacing:-.5px;}
.summary-list{list-style:none; margin:14px 0 0; padding:0;}
.summary-list li{position:relative; padding:5px 0 5px 22px; font-size:13.5px; color:var(--muted);}
.summary-list li:before{content:"✓"; position:absolute; left:0; color:var(--ok); font-weight:800;}
.summary-note{margin-top:14px; background:#FDFAF5; border:1px solid var(--line); border-radius:12px; padding:12px; font-size:12.5px; color:var(--muted); line-height:1.5;}
.package-option{display:flex; gap:12px; align-items:flex-start; border:1px solid var(--line); border-radius:14px; padding:15px; background:#fff; cursor:pointer; margin-bottom:10px; transition:border-color .15s, box-shadow .15s;}
.package-option:hover{border-color:#C9B9A9;}
.package-option.selected{border-color:var(--accent); box-shadow:0 0 0 3px #F4E3D0;}
.package-option input{margin-top:4px; flex:0 0 auto;}
.package-body{flex:1; min-width:0;}
.package-top{display:flex; justify-content:space-between; gap:10px; align-items:baseline;}
.package-name{font-weight:800;}
.package-price{font-weight:800; white-space:nowrap;}
.package-desc{display:block; font-size:13px; color:var(--muted); margin-top:4px; line-height:1.45;}
.package-tag{display:inline-block; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#8A3D1C; background:#FBF1E7; border:1px solid #E8CDAF; border-radius:999px; padding:3px 8px; margin-left:6px; vertical-align:middle;}
.payment-box{border-top:1px solid var(--line); margin-top:22px; padding-top:20px;}
.payment-box .btn{width:100%;}
.payment-note{font-size:12px; color:var(--muted); margin-top:10px; line-height:1.5;}
.payment-logos{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
.payment-logo{font-size:11.5px; font-weight:700; color:var(--muted); border:1px solid var(--line); background:#fff; border-radius:8px; padding:5px 8px;}

/* CHOICE ROW (np. kwota dopłaty) */
.choice-row{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0;}
.choice{display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:#fff; border-radius:10px; padding:9px 13px; font-size:14px; cursor:pointer;}
.choice input{accent-color:var(--accent); margin:0;}
.choice:has(input:checked){border-color:var(--accent); box-shadow:0 0 0 3px #F4E3D0;}

/* STEPS / TIMELINE */
.steps-row{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:16px 0;}
@media (max-width:720px){ .steps-row{grid-template-columns:1fr;} }
.step-box{background:#FDFAF5; border:1px solid var(--line); border-radius:12px; padding:14px; font-size:13px; color:var(--muted);}
.step-box strong{display:block; color:var(--ink); margin-bottom:4px;}
.step-num{display:inline-flex; width:22px; height:22px; border-radius:50%; background:var(--accent); color:#fff; font-size:12px; font-weight:800; align-items:center; justify-content:center; margin-right:6px; vertical-align:middle;}
.status-timeline{display:grid; gap:0; margin:18px 0; border-left:2px solid var(--line); padding-left:20px;}
.status-item{position:relative; padding:0 0 20px;}
.status-item:last-child{padding-bottom:0;}
.status-dot{position:absolute; left:-29px; top:2px; width:16px; height:16px; border-radius:50%; background:#fff; border:2px solid #C9B9A9;}
.status-dot.done{background:var(--ok); border-color:var(--ok);}
.status-dot.current{background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px #F4E3D0;}
.status-item strong{display:block; font-size:14.5px;}
.status-item span{display:block; color:var(--muted); font-size:13px; margin-top:2px;}
.status-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px;}

/* UPLOAD */
.upload-box{background:#FDFAF5; border:1.5px dashed #D9C8B8; border-radius:14px; padding:22px; text-align:center;}
.upload-box input[type=file]{display:none;}
.upload-box label{display:inline-flex; flex-direction:column; gap:4px; align-items:center; cursor:pointer; font-weight:700; color:var(--accent);}
.upload-box small{display:block; color:var(--muted); font-weight:400; margin-top:4px; font-size:12.5px;}
.upload-name{font-size:13px; color:var(--ink); margin-top:10px; font-weight:700; word-break:break-word;}

/* LEGAL */
.legal{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:34px; box-shadow:var(--shadow);}
.legal h1{font-size:clamp(26px,4vw,36px); line-height:1.16; letter-spacing:-.5px; margin-bottom:6px;}
.legal-meta{color:var(--muted); font-size:13px; margin-bottom:18px;}
.legal h2{font-size:20px; margin:28px 0 8px; letter-spacing:-.2px;}
.legal h3{font-size:16px; margin:18px 0 6px;}
.legal p,.legal li{font-size:14.5px; color:#3E3027;}
.legal p{margin:8px 0;}
.legal ul,.legal ol{margin:8px 0 8px 22px;}
.legal li{margin:4px 0;}
.legal table{width:100%; border-collapse:collapse; margin:12px 0; font-size:13px;}
.legal th,.legal td{border:1px solid var(--line); padding:9px 10px; text-align:left; vertical-align:top;}
.legal th{background:#F4EFE9; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em;}
.data-table{width:100%; border-collapse:collapse; margin:12px 0; font-size:13px;}
.data-table th,.data-table td{border:1px solid var(--line); padding:9px 10px; text-align:left; vertical-align:top;}
.data-table th{background:#F4EFE9; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em;}
@media (max-width:640px){ .data-table{display:block; overflow-x:auto; white-space:nowrap;} }
.legal a{color:var(--accent);}
.draft-note{background:#FBF1E7; border:1px solid #E8CDAF; color:#8A3D1C; border-radius:12px; padding:12px 14px; font-size:12.5px; line-height:1.5; margin-bottom:20px;}
/* legalApproved=true w assets/config.js zdejmuje notki „Wersja robocza" (klasa dodawana przez site.js). */
.legal-approved .draft-note{display:none;}
.toc{background:#FDFAF5; border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin:18px 0;}
.toc strong{display:block; font-size:13px; margin-bottom:6px;}
.toc a{display:block; font-size:13px; color:var(--muted); text-decoration:none; padding:2px 0;}
.toc a:hover{color:var(--accent);}
@media (max-width:640px){
  .legal{padding:22px 18px; border-radius:14px;}
  .legal h2{font-size:18px;}
  .legal p,.legal li{font-size:14px;}
  .legal table{display:block; overflow-x:auto; white-space:nowrap;}
}

/* FOOTER */
.site-footer{background-color:var(--dark); background-image:var(--grain); color:#A29285; padding:36px 0 24px; font-size:13px; margin-top:40px;}
.footer-grid{display:grid; grid-template-columns:1.3fr .7fr .7fr; gap:26px;}
@media (max-width:760px){ .footer-grid{grid-template-columns:1fr; gap:20px;} }
.footer-brand{font-family:var(--font-display); font-weight:700; color:#fff; font-size:19px; margin-bottom:6px;}
.site-footer p{color:#A29285; line-height:1.55; max-width:420px;}
.site-footer h4{color:#ECE2D8; font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px;}
.site-footer a{display:block; color:#D9CFC4; text-decoration:none; padding:3px 0;}
.site-footer a:hover{color:#fff; text-decoration:underline;}
.footer-company{margin-top:12px; font-size:12.5px; color:#A29285;}
.footer-company a{display:inline; color:#D9CFC4;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14); margin-top:26px; padding-top:16px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:center; color:#A29285;}
.footer-bottom .linkbtn{color:#D9CFC4; text-decoration:underline;}
.footer-bottom .linkbtn:hover{color:#fff;}

/* Dostępność: szanuj „reduce motion" z systemu (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important; transition-duration:.01ms !important; animation-iteration-count:1 !important;}
}

/* MISC */
.kicker{font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--accent);}
.muted{color:var(--muted);}
.small{font-size:12.5px;}
.center{text-align:center;}
.mt-0{margin-top:0;}
.mt-1{margin-top:8px;}
.mt-2{margin-top:16px;}
.mt-3{margin-top:24px;}
.mb-0{margin-bottom:0;}
.mb-1{margin-bottom:8px;}
.mb-2{margin-bottom:16px;}
.mb-3{margin-bottom:24px;}
@media (max-width:640px){
  .wrap{padding:0 16px;}
  .page-main{padding:24px 0 48px;}
  .checkout-main{padding:18px 16px;}
  .summary-card{padding:18px 16px;}
  input,textarea,select{font-size:16px !important;}
  .btn{width:100%;}
  .btn-small{width:auto;}
}

/* ============================================================
   PANEL ZAMÓWIENIA (panel.html, aplikacja.html, dodatki.html)
   ============================================================ */
.back-link{display:inline-block; font-size:13px; font-weight:700; text-decoration:none; color:var(--accent); margin-bottom:12px;}
.back-link:hover{text-decoration:underline;}
.panel-hero{display:flex; justify-content:space-between; align-items:flex-end; gap:18px; flex-wrap:wrap;}
.order-chip{display:flex; flex-direction:column; align-items:flex-end; gap:6px;}
.order-chip .small{white-space:nowrap;}
.dash-grid{display:grid; grid-template-columns:minmax(0,1.55fr) minmax(250px,.6fr); gap:20px; align-items:start;}
@media (max-width:900px){ .dash-grid{grid-template-columns:1fr;} }
.stat-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;}
@media (max-width:900px){ .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
.stat-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 14px 12px; min-width:0;}
.stat-card .stat-label{display:block; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:6px;}
.stat-card strong{display:block; font-family:var(--font-display); font-size:22px; line-height:1.15; letter-spacing:-.3px; color:var(--ink); overflow-wrap:anywhere;}
.stat-card .small{display:block; margin-top:3px;}
.progress-head{display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:8px;}
.progress{height:10px; background:#F0E7DC; border-radius:999px; overflow:hidden;}
.progress > span{display:block; height:100%; width:0; background:var(--ok); border-radius:999px; transition:width .35s ease;}
.dash-actions{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:16px;}
.list-head{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap;}
.list-head h2{font-size:20px;}
.tabs{display:flex; gap:6px; flex-wrap:wrap; margin-top:12px;}
.tab{border:1px solid var(--line); background:#fff; color:var(--muted); font:inherit; font-size:12.5px; font-weight:700; padding:7px 11px; border-radius:999px; cursor:pointer;}
.tab:hover{border-color:#C9B9A9; color:var(--ink);}
.tab[aria-selected="true"]{background:var(--dark); border-color:var(--dark); color:#fff;}
.app-list{display:grid; gap:10px; margin-top:14px;}
.app-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px;}
.app-card-top{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap;}
.app-card h3{font-size:17px; line-height:1.3; margin:8px 0 2px;}
.app-company{font-size:13px; color:var(--muted); margin:0; overflow-wrap:anywhere;}
.app-card-foot{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px solid #F4EFE9;}
.app-card-foot .btn{padding:8px 12px; font-size:13px;}
.status-pill{display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:800; letter-spacing:.01em; border-radius:999px; padding:5px 10px; border:1px solid var(--line); background:#fff; color:var(--muted); white-space:nowrap;}
.status-pill:before{content:""; width:7px; height:7px; border-radius:50%; background:currentColor; flex:0 0 auto;}
.status-waiting{background:#F6F3EF; border-color:#E3D8CC; color:#6B5A4C;}
.status-queue{background:#F6F3EF; border-color:#E3D8CC; color:#4A3B30;}
.status-generating{background:#FBF1E7; border-color:#E8CDAF; color:#8A3D1C;}
.status-qc{background:#FBF1E7; border-color:#E8CDAF; color:#8A3D1C;}
.status-manual{background:#FDF1EE; border-color:#EFC8C0; color:#8A241C;}
.status-ready{background:#F1F7F4; border-color:#B9DCCF; color:#0C584F;}
.status-revision{background:#F3F1FA; border-color:#D6D0EC; color:#3F3A78;}
.empty-state{text-align:center; padding:34px 18px; border:1.5px dashed #D9C8B8; border-radius:14px; background:#FDFAF5; margin-top:14px;}
.empty-state h3{font-size:18px; margin-bottom:6px;}
.empty-state p{color:var(--muted); font-size:13.5px; max-width:420px; margin:0 auto 14px;}
.card-soft h3{font-size:15px; margin-bottom:8px;}
.mini-steps{list-style:none; margin:0; padding:0; counter-reset:step;}
.mini-steps li{position:relative; padding:0 0 12px 30px; font-size:13px; color:var(--muted); line-height:1.5;}
.mini-steps li:last-child{padding-bottom:0;}
.mini-steps li:before{counter-increment:step; content:counter(step); position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; background:#FBF1E7; color:#8A3D1C; border:1px solid #E8CDAF; font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center;}
.mini-steps strong{color:var(--ink);}
.demo-strip{background:#F3F1FA; border:1px solid #D6D0EC; color:#3F3A78; border-radius:12px; padding:12px 14px; font-size:13px; line-height:1.5; margin:0 0 16px;}
.demo-strip strong{display:block; margin-bottom:2px;}
.demo-tools{font-size:13px;}
.demo-tools summary{cursor:pointer; font-weight:800; color:var(--muted);}
.demo-tools .btn{margin-top:8px; margin-right:6px;}
.file-row{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:12px;}
.file-chip{display:flex; flex-direction:column; gap:2px; background:#FDFAF5; border:1px solid var(--line); border-radius:12px; padding:10px 14px; min-width:170px;}
.file-chip strong{font-size:14px;}
.file-chip span{font-size:12px; color:var(--muted);}
.meta-list{display:grid; gap:10px; margin:0;}
.meta-list > div{display:grid; gap:2px;}
.meta-list dt{font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--muted);}
.meta-list dd{margin:0; font-size:13.5px; color:var(--ink); overflow-wrap:anywhere;}
.app-grid{display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr); gap:20px; align-items:start;}
@media (max-width:860px){ .app-grid{grid-template-columns:1fr;} }
.status-timeline{display:grid; gap:0; margin-top:6px;}
.timeline-step{position:relative; padding:0 0 18px 28px; border-left:2px solid var(--line); margin-left:7px;}
.timeline-step:last-child{border-left-color:transparent; padding-bottom:0;}
.timeline-step:before{content:""; position:absolute; left:-8px; top:1px; width:14px; height:14px; border-radius:50%; background:#fff; border:2px solid #D9C8B8;}
.timeline-step.done:before{background:var(--ok); border-color:var(--ok);}
.timeline-step.current:before{background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px #F4E3D0;}
.timeline-step strong{display:block; font-size:14px; color:var(--ink);}
.timeline-step span{display:block; font-size:12.5px; color:var(--muted); margin-top:2px;}
.extras-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start;}
@media (max-width:900px){ .extras-grid{grid-template-columns:1fr;} }
.resource-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px; display:flex; flex-direction:column; gap:10px;}
.resource-card h2{font-size:19px; line-height:1.25;}
.resource-card p{font-size:13.5px; color:var(--muted); line-height:1.55; margin:0;}
.resource-card .download-row{margin-top:auto; padding-top:6px;}
.download-row{display:flex; gap:8px; flex-wrap:wrap;}
.order-access{max-width:560px; margin:0 auto; text-align:center;}
.order-access .btn{margin-top:8px;}
@media (max-width:420px){
  .stat-card strong{font-size:19px;}
  .order-chip{align-items:flex-start;}
}

