:root{--ink:#3b2a20;--soft:#7a6457;--bg:#fbf6ee;--card:#fff;--accent:#c8643b;--accent2:#5e8c6a;--line:#eadfd1}
*{box-sizing:border-box}body{margin:0;font-family:Georgia,'Iowan Old Style',serif;background:var(--bg);color:var(--ink);line-height:1.55}
header{padding:18px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fffaf3}
header a{color:var(--ink);text-decoration:none;font-size:1.25rem}.mode{font:12px system-ui;color:var(--soft)}
main{max-width:1060px;margin:0 auto;padding:28px}h1{font-size:2.3rem;margin:.2em 0}h2{margin-top:1.6em}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}.hero img{width:100%;border-radius:14px;box-shadow:0 10px 30px #0001;background:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin:18px 0}
button,.btn{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:11px 22px;font:600 15px system-ui;cursor:pointer;text-decoration:none;display:inline-block}
button.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);padding:6px 12px;font-size:13px}
button.green{background:var(--accent2)}input,textarea,select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:15px system-ui;background:#fffdf9}
label{font:600 14px system-ui;display:block;margin-top:10px}.small{font:13px system-ui;color:var(--soft)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.page{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.page.removed{opacity:.35}
.page .pair{display:grid;grid-template-columns:1fr 2fr;gap:6px;align-items:start}.page img{width:100%;border-radius:6px;border:1px solid #f0e8de}
.tag{font:12px system-ui;padding:2px 8px;border-radius:999px;background:#eef4ef;color:#2f5a3b}.tag.warn{background:#fdecd9;color:#8a4a12}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bar{height:14px;background:var(--line);border-radius:9px;overflow:hidden}.bar div{height:100%;background:var(--accent2);transition:width .5s}
.err{background:#fde3dc;padding:12px;border-radius:8px}.price{font-size:2rem;color:var(--accent)}table{width:100%;border-collapse:collapse;font:14px system-ui}td,th{padding:6px;border-bottom:1px solid var(--line);text-align:left}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;font:14px system-ui}.steps div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
@media(max-width:760px){.hero,.two,.steps{grid-template-columns:1fr}}
.occasions{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.occasions .card{margin:0}
.adminbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.adminbar h1{margin:0}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.filters a{font:600 13px system-ui;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none}
.filters a span{background:var(--line);border-radius:999px;padding:1px 7px;margin-left:4px}.filters a.on{background:var(--ink);color:#fff}.filters a.on span{background:#fff3;color:#fff}
.filters a.problem span{background:#fde3dc;color:#8a2a12}.filters a.approval span{background:#fdecd9;color:#8a4a12}
.tablewrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table.orders td,table.orders th{padding:9px 8px;vertical-align:top}
.pill{font:600 12px system-ui;padding:2px 9px;border-radius:999px;background:#f1ece5;color:var(--ink);white-space:nowrap}.pill.good,.pill.lulu-SHIPPED,.st-shipped.pill{background:#e3f1e6;color:#2f5a3b}
.pill.warn,.pill.lulu-UNPAID,.pill.lulu-PRODUCTION_DELAYED,.st-approval.pill{background:#fdecd9;color:#8a4a12}.pill.lulu-REJECTED,.pill.lulu-CANCELED,.pill.lulu-ERROR,.st-problem.pill{background:#fde3dc;color:#8a2a12}
.pill.lulu-IN_PRODUCTION,.pill.lulu-CREATED,.pill.lulu-PRODUCTION_READY,.st-production.pill{background:#e4ecf7;color:#23466e}.pill.big{font-size:14px;padding:6px 14px}
tr.st-problem{background:#fff6f3}tr.st-approval{background:#fffaf2}.small-btn{padding:6px 12px;font-size:13px}b.ok{color:#2f5a3b}b.bad{color:#a02c10}
table.kv th{width:130px;color:var(--soft);font-weight:600}.timeline{font:14px system-ui;padding-left:18px}.timeline li{margin:4px 0}
.adminpages{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.adminpages a{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px;text-decoration:none}.adminpages img{width:100%}
.notifybox h2{margin-top:0}.deletelink{text-align:right;margin-top:30px}.linkbtn{background:none;border:0;color:var(--soft);font:13px system-ui;text-decoration:underline;padding:0;cursor:pointer}
.bar.live{height:18px;position:relative}.bar.live div{transition:width .6s ease;background-image:linear-gradient(45deg,rgba(255,255,255,.22) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.22) 75%,transparent 75%);background-size:28px 28px;animation:stripes 1.2s linear infinite}
@keyframes stripes{from{background-position:0 0}to{background-position:28px 0}}
.drawline{font:15px system-ui;margin:10px 0 4px}.dots i{display:inline-block;width:7px;height:7px;margin-right:3px;border-radius:50%;background:var(--accent);animation:dot 1.2s infinite ease-in-out}
.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes dot{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
.eta{font:15px system-ui;margin:12px 0 8px}.slow{background:#fdf1dc;border-radius:8px;padding:10px 12px;font:14px system-ui}
@media (prefers-reduced-motion:reduce){.bar.live div,.dots i{animation:none}}
