/* PizzaCMS - admin & setup */
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1d1d1f;background:#f4f5f7;line-height:1.5}
a{color:#c0392b;text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:1.6rem;margin:0 0 1.2rem}
h2{font-size:1.2rem;margin:1.6rem 0 .8rem}

/* Setup */
body.setup{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}
.setup-box{background:#fff;padding:2.2rem;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.08);max-width:560px;width:100%}
.setup-box.small{max-width:380px}
.setup-box h1{font-size:1.6rem;margin-bottom:1rem}
.setup-box h2{font-size:1rem;text-transform:uppercase;color:#888;letter-spacing:.5px;margin-top:1.5rem}
.checks{list-style:none;padding:0;margin:0 0 1rem}
.checks li.ok{color:#1d6a3a}
.checks li.ko{color:#992018}

/* Forms */
form{display:flex;flex-direction:column;gap:.8rem}
form label{display:flex;flex-direction:column;font-size:.85rem;color:#666;gap:.25rem}
form input,form select,form textarea{padding:.65rem .8rem;border:1px solid #d8dde3;border-radius:6px;font:inherit;background:#fff}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:#c0392b}
.chk{flex-direction:row !important;align-items:center;gap:.5rem}
.chk input{width:auto}

/* Buttons */
.btn{display:inline-block;padding:.65rem 1.2rem;border-radius:6px;border:1px solid #c0392b;background:#fff;color:#c0392b;font-weight:600;cursor:pointer;font-size:.9rem}
.btn:hover{background:#fbeae7}
.btn.primary{background:#c0392b;color:#fff}
.btn.primary:hover{filter:brightness(.92)}
.btn.danger{border-color:#c0392b;color:#c0392b}
.btn.small{padding:.35rem .6rem;font-size:.8rem}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* Alerts */
.alert{padding:.9rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}
.alert.ok{background:#e6f7ec;color:#1d6a3a;border:1px solid #b7e2c4}
.alert.err{background:#fdecea;color:#992018;border:1px solid #f5b8b3}
.alert ul{margin:0;padding-left:1.2rem}

/* Admin layout */
body.admin{background:#f4f5f7}
.topbar{background:#1d1d1f;color:#fff;padding:.9rem 1.5rem;display:flex;align-items:center;justify-content:space-between}
.topbar .brand{font-weight:700;display:flex;align-items:center;gap:0}
.topbar nav{display:flex;gap:1.2rem;align-items:center;font-size:.9rem}
.topbar nav a{color:#ffb38a}
.wrap{display:flex;min-height:calc(100vh - 56px)}
.sidebar{background:#fff;border-right:1px solid #e5e7eb;padding:1.2rem .6rem;display:flex;flex-direction:column;gap:.2rem;width:220px;flex-shrink:0;overflow:hidden;transition:width .25s ease,padding .25s ease}
.sidebar a{padding:.65rem .9rem;border-radius:6px;color:#333;font-size:.92rem;white-space:nowrap;display:flex;align-items:center;gap:.6rem;overflow:hidden}
.sidebar a:hover{background:#f4f5f7;text-decoration:none}
.sidebar a.active{background:#c0392b;color:#fff}
.sidebar-icon{flex-shrink:0;font-size:1.1rem;width:1.4rem;text-align:center}
.sidebar-label{transition:opacity .2s ease}
.sidebar-toggle{background:none;border:1px solid #e5e7eb;border-radius:6px;padding:.45rem .7rem;cursor:pointer;font-size:1rem;color:#555;width:100%;margin-bottom:.5rem;transition:all .2s}
.sidebar-toggle:hover{background:#f4f5f7}
.content{padding:1.8rem 2rem;max-width:1100px;flex:1;min-width:0}

/* Sidebar collapsed */
.wrap.sidebar-collapsed .sidebar{width:56px;padding:.8rem .4rem}
.wrap.sidebar-collapsed .sidebar a{justify-content:center;padding:.65rem .5rem}
.wrap.sidebar-collapsed .sidebar-label{opacity:0;width:0;overflow:hidden;position:absolute}
.wrap.sidebar-collapsed .sidebar-toggle{font-size:.9rem;padding:.45rem .3rem}

@media (max-width:720px){
    .wrap{flex-direction:column}
    .sidebar,.wrap.sidebar-collapsed .sidebar{width:100%;flex-direction:row;overflow-x:auto;padding:.5rem}
    .sidebar-toggle{display:none}
    .sidebar-label{opacity:1 !important;width:auto !important;position:static !important}
    .sidebar a{white-space:nowrap}
    .content{padding:1rem}
}

/* Dashboard cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}
.card{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.2rem;text-decoration:none;color:#1d1d1f;transition:transform .15s}
.card:hover{transform:translateY(-2px);text-decoration:none}
.card .num{font-size:2rem;font-weight:700;color:#c0392b}
.card .lbl{color:#666;font-size:.9rem}

/* Tables */
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin:1rem 0}
.tbl th,.tbl td{padding:.7rem .8rem;text-align:left;border-bottom:1px solid #f0f1f3;font-size:.9rem;vertical-align:middle}
.tbl th{background:#fafafa;font-weight:600;color:#555}
.tbl tr:last-child td{border-bottom:none}
.tbl input,.tbl select{padding:.4rem .5rem;font-size:.85rem}
.badge{display:inline-block;padding:.2rem .6rem;border-radius:99px;font-size:.75rem;background:#eee;color:#444}
.badge.confirmed{background:#e6f7ec;color:#1d6a3a}
.badge.cancelled{background:#fdecea;color:#992018}
.badge.pending{background:#fff5d6;color:#7a5a00}

/* Panels & layouts */
.panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.2rem;margin:1rem 0}
.panel summary{cursor:pointer;font-weight:600;color:#c0392b}
.panel form{margin-top:1rem}
.inline{flex-direction:row !important;align-items:center;gap:.5rem;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:720px){.grid,.grid2{grid-template-columns:1fr}}
.muted{color:#888}

/* === Theme picker === */
.theme-picker{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0 2rem;justify-content:flex-start}
.theme-card{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;background:#fff;transition:all .2s;text-transform:none;width:180px;flex-shrink:0;align-items:flex-start}
.theme-card:hover{border-color:#c0392b;transform:translateY(-2px)}
.theme-card.selected{border-color:#c0392b;box-shadow:0 0 0 4px rgba(192,57,43,.12)}
.theme-card input{display:none}
.theme-card strong{font-size:.95rem;color:#1d1d1f}
.theme-card small{color:#888;font-size:.78rem;line-height:1.4}
.theme-card .preview{height:90px;border-radius:6px;padding:.6rem;display:flex;flex-direction:column;gap:.3rem;position:relative;overflow:hidden}
.theme-card .preview .bar{height:8px;width:50%;background:rgba(0,0,0,.4);border-radius:2px}
.theme-card .preview .block{height:24px;width:80%;border-radius:3px;background:rgba(0,0,0,.15)}
.theme-card .preview .line{height:4px;width:90%;background:rgba(0,0,0,.2);border-radius:2px}
.theme-card .preview .line.short{width:60%}

.preview-classic  {background:linear-gradient(135deg,#fffaf5,#fff)}
.preview-classic .bar{background:#c0392b}
.preview-modern   {background:#fff;border:1px solid #ececec}
.preview-modern .bar{background:#1d1d1f;border-radius:0}
.preview-modern .block{border-radius:0;background:#f1f1f1}
.preview-trattoria{background:linear-gradient(135deg,#fff8e7,#fdf6ec)}
.preview-trattoria .bar{background:#a23328;border-radius:99px}
.preview-trattoria .block{background:#e7d3a8;border-radius:10px}
.preview-noir     {background:#0f0f10}
.preview-noir .bar{background:#c0392b}
.preview-noir .block{background:#2a2a2c}
.preview-noir .line{background:#3a3a3c}
