:root{
  --cream:#f7f1e7;
  --paper:#fffdf9;
  --ink:#2b241e;
  --muted:#6f6257;
  --line:#dfd3c5;
  --brown:#6f3e24;
  --brown-dark:#4e2a18;
  --honey:#c8943c;
  --sage:#6f7e64;
  --danger:#a34737;
  --shadow:0 16px 44px rgba(64,40,23,.10);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--cream);color:var(--ink);line-height:1.45}
a{color:inherit}
.sitebar{background:var(--brown-dark);color:#fff;padding:10px 24px;font-size:.9rem;text-align:center}
.header{background:rgba(255,253,249,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.header-inner{max-width:1180px;margin:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e9be6e 0 16%,#b9792e 17% 38%,#704026 39% 100%);box-shadow:inset 0 0 0 4px #fff,0 2px 8px rgba(0,0,0,.12)}
.brand-copy strong{display:block;font-family:Georgia,serif;font-size:1.13rem;color:var(--brown-dark)}
.brand-copy span{font-size:.78rem;color:var(--muted)}
.header-chip{background:#f3e5cf;border:1px solid #e6cfad;color:var(--brown-dark);padding:8px 12px;border-radius:999px;font-size:.83rem;font-weight:700}
.shell{max-width:1180px;margin:32px auto 70px;padding:0 24px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;align-items:start}
.side{position:sticky;top:102px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.side h3{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.steps{display:grid;gap:6px}
.step{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:12px;color:var(--muted);font-size:.88rem}
.step b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eee3d6;color:var(--brown-dark);font-size:.75rem;flex:0 0 auto}
.step.active{background:#f5eadb;color:var(--brown-dark);font-weight:700}
.step.active b{background:var(--brown);color:white}
.side-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.main{min-width:0}
.hero{background:linear-gradient(135deg,#fffdf8,#f6e7cf);border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow);margin-bottom:22px}
.eyebrow{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--honey)}
.hero h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.15rem);line-height:1.05;margin:8px 0 12px;color:var(--brown-dark)}
.hero p{max-width:760px;color:var(--muted);margin:0}
.notice{margin-top:18px;padding:13px 15px;border-radius:13px;background:#fff8e8;border:1px solid #ead29d;font-size:.88rem;color:#6e5528}
.section{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:18px;box-shadow:0 6px 20px rgba(64,40,23,.05)}
.section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}
.section-no{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brown);color:white;font-weight:800;flex:0 0 auto}
.section h2{font-size:1.15rem;margin:3px 0 2px;color:var(--brown-dark)}
.section-head p{font-size:.84rem;color:var(--muted);margin:0}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.full{grid-column:1/-1}
label{display:block;font-size:.84rem;font-weight:700;margin:0 0 6px;color:#3d332b}
.req{color:var(--danger)}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cdbfad;border-radius:11px;background:#fff;font:inherit;color:var(--ink);outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--honey);box-shadow:0 0 0 3px rgba(200,148,60,.14)}
input[type=file]{padding:9px;background:#faf7f2}
.choice-row{display:flex;flex-wrap:wrap;gap:10px}
.choice{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;font-size:.87rem;font-weight:600;cursor:pointer}
.choice input{width:auto;margin:0;accent-color:var(--brown)}
.help{font-size:.76rem;color:var(--muted);margin-top:5px}
.conditional{display:none;margin-top:16px;padding:16px;border-radius:14px;background:#faf6f0;border:1px dashed #d7c4ae}
.card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fcfaf6;margin-top:12px}
.card-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.card-title strong{color:var(--brown-dark)}
.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer;font:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn-primary{background:var(--brown);color:white}
.btn-primary:hover{background:var(--brown-dark)}
.btn-secondary{background:#efe5d9;color:var(--brown-dark)}
.btn-danger{background:#f6e4df;color:#8c382d}
.actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:22px}
.footer-note{font-size:.78rem;color:var(--muted);margin-top:18px;text-align:center}
.summary-box{background:#f3eee6;border:1px solid var(--line);border-radius:14px;padding:16px}
.summary-box strong{color:var(--brown-dark)}
.checkbox-line{display:flex;align-items:flex-start;gap:9px;font-weight:500;font-size:.87rem;margin:9px 0}
.checkbox-line input{width:auto;margin-top:3px;accent-color:var(--brown)}
.admin-shell{max-width:1180px;margin:30px auto 70px;padding:0 24px}
.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.kpi{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:0 6px 20px rgba(64,40,23,.05)}
.kpi span{font-size:.76rem;color:var(--muted)}
.kpi strong{display:block;font-size:1.45rem;color:var(--brown-dark);margin-top:4px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:white}
table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:760px}
th,td{padding:12px 13px;text-align:left;border-bottom:1px solid #eee5da;white-space:nowrap}
th{background:#f7f1e8;color:var(--brown-dark);font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.74rem;font-weight:800}
.badge-open{background:#fff0cc;color:#755716}.badge-ok{background:#e5f0e0;color:#476043}.badge-check{background:#e8edf3;color:#44576b}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc-total{grid-column:1/-1;background:#f5eadb;border-radius:13px;padding:14px;display:flex;justify-content:space-between;align-items:center}
.calc-total strong{font-size:1.25rem;color:var(--brown-dark)}
.demo-banner{background:#6f3e24;color:white;padding:10px 18px;border-radius:12px;margin-bottom:18px;font-size:.84rem}
@media(max-width:900px){.shell{grid-template-columns:1fr}.side{position:static}.steps{grid-template-columns:repeat(3,1fr)}.step{padding:7px}.admin-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.header-chip{display:none}.header-inner{padding:13px 16px}.shell,.admin-shell{padding:0 14px;margin-top:18px}.hero,.section{padding:19px}.grid{grid-template-columns:1fr}.full{grid-column:auto}.steps{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:1fr 1fr}.actions{flex-direction:column}.btn{width:100%}}
@media print{.sitebar,.header,.side,.actions,.demo-banner,.no-print{display:none!important}.shell,.admin-shell{display:block;max-width:none;margin:0;padding:0}.hero,.section{box-shadow:none;break-inside:avoid}}
