
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#24221f;--muted:#77736d;--cream:#f6f3ed;--paper:#fffdf9;--rust:#a64f32;--line:#e7e0d6;--green:#4d6b4b}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px 'DM Sans',sans-serif}.top{height:auto;min-height:70px;background:#211f1c;color:white;padding:15px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{font:700 21px 'Playfair Display';letter-spacing:2px;color:white;text-decoration:none}.brand span{color:#d18a61}.top nav{display:flex;gap:18px;flex-wrap:wrap}.top nav a{color:#eee4d9;text-decoration:none;font-size:13px}.top nav a:hover{color:#e4a17c}main{max-width:1200px;margin:32px auto;padding:0 22px;min-height:70vh}footer{text-align:center;padding:26px;color:var(--muted);font-size:12px}.hero{background:#28231f;color:white;border-radius:18px;padding:70px 8%;display:flex;justify-content:space-between;align-items:center;min-height:390px;overflow:hidden}.hero h1{font:700 clamp(45px,7vw,82px) 'Playfair Display';margin:8px 0;color:#f2e8db}.hero p{color:#d5c9bc}.hero .lead{font:24px 'Playfair Display';color:#d99973}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:700;color:var(--rust)}.hero .eyebrow{color:#e2a27e}.hero-art{width:260px;height:260px;border:1px solid #956d55;border-radius:50%;display:grid;place-content:center;text-align:center;color:#e5a27b;transform:rotate(-12deg);box-shadow:0 0 0 18px #ffffff08,0 0 0 38px #ffffff05}.hero-art span{font:700 80px 'Playfair Display'}.hero-art small{letter-spacing:4px}.btn{display:inline-block;border:0;background:var(--rust);color:white;padding:12px 18px;border-radius:7px;text-decoration:none;font-weight:700;cursor:pointer}.btn:hover{background:#813b25}.btn.secondary{background:#e8e1d7;color:var(--ink)}section#menu{padding:55px 0}.section-head,.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head h2,.page-head h1{font:700 34px 'Playfair Display';margin:4px 0}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.menu-card,.panel,.kot,.auth{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px}.menu-card h3{font:600 20px 'Playfair Display';margin:12px 0 4px}.menu-card p{color:var(--muted);min-height:20px;font-size:13px}.menu-card b{color:var(--rust)}.veg-dot{display:inline-block;width:10px;height:10px;border:1px solid #27814b;margin-right:8px;position:relative}.veg-dot:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#27814b;left:2px;top:2px}.menu-card small{color:var(--muted)}.contact{background:#e9e0d4;padding:32px;border-radius:12px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:24px 0}.stats>div{background:var(--paper);padding:22px;border:1px solid var(--line);border-radius:12px}.stats small{display:block;color:var(--muted)}.stats strong{display:block;font:700 30px 'Playfair Display';margin-top:8px}.panel{margin:18px 0;overflow-x:auto}.panel h2{font:600 22px 'Playfair Display';margin:0 0 16px}table{width:100%;border-collapse:collapse;min-width:540px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-weight:600}td a,.link{color:var(--rust);text-decoration:none}.pill{background:#e9eee6;color:#496448;border-radius:20px;padding:5px 9px;font-size:11px}.pill.warn{background:#f7e6d6;color:#9a4c23}.table-grid,.kot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:15px}.table-tile{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:9px}.table-tile b{font:700 28px 'Playfair Display'}.table-tile small,.muted{color:var(--muted)}.table-tile span{color:var(--rust);font-size:12px}.narrow{max-width:560px}.auth{max-width:440px;margin:50px auto}.auth.wide{max-width:700px}.auth h1{font:700 32px 'Playfair Display'}.auth input,.auth select,.panel input,.panel select,.panel textarea,.narrow input,.narrow select{width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;background:white;margin:6px 0 14px;font:inherit}.auth label,.panel label,.narrow label{display:block;font-size:13px;font-weight:600}.auth ul.errorlist{color:#b33}.pos-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.item-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.pick{background:#f7f3ec;border:1px solid var(--line);padding:12px;border-radius:8px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px}.pick span{color:var(--rust)}.totals{max-width:330px;margin:20px 0 20px auto}.totals p{display:flex;justify-content:space-between;color:var(--muted)}.totals h2{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.whatsapp{display:block;margin-top:18px;color:var(--green);font-weight:700;text-decoration:none}.error{color:#b33}.link{border:0;background:none;font-size:20px;cursor:pointer}.danger{color:#b33}.kot{border-top:4px solid var(--rust)}.kot-head{display:flex;justify-content:space-between}.kot li{padding:8px 0;border-bottom:1px dashed var(--line)}.kot li small{display:block;color:var(--muted)}.bill{max-width:760px;margin:auto;background:white;padding:38px;border:1px solid var(--line)}.bill h1{font:700 34px 'Playfair Display'}.bill-actions{display:flex;gap:10px;margin-bottom:24px}.notice{background:#e9eee6;padding:12px;border-radius:7px}.section-head p{color:var(--muted)}@media(max-width:760px){.hero{padding:42px 8%}.hero-art{display:none}.pos-layout{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.top{align-items:flex-start}.top nav{gap:12px}.bill{padding:18px}.bill-actions{position:static}}@media print{.top,footer,.bill-actions{display:none!important}body{background:white}main{margin:0;padding:0}.bill{border:0;padding:0;max-width:none}}

@media print{.menu-card{break-inside:avoid;border:1px solid #bbb}.menu-card button,.top{display:none!important}}

/* Navigation logout uses POST so it remains CSRF protected. */
.logout-form { display: inline; margin: 0; }
.logout-form .nav-link {
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
    padding: 0;
}

/* Staff, roles and KOT history refinements */
.top{box-shadow:0 5px 18px #211f1c18;border-bottom:1px solid #51463d}.top nav a{padding:8px 0;position:relative}.top nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:#c27a54}.panel,.menu-card,.kot,.table-tile{box-shadow:0 8px 24px #3b2b1c08;transition:transform .18s ease,box-shadow .18s ease}.menu-card:hover,.table-tile:hover,.kot:hover{transform:translateY(-2px);box-shadow:0 12px 28px #3b2b1c14}.panel h2{color:#34271f}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-list{display:grid;grid-template-columns:150px 1fr;gap:12px;margin:0}.profile-list dt{color:var(--muted);font-size:13px}.profile-list dd{margin:0;font-weight:600}.permission-chips{display:flex;gap:9px;flex-wrap:wrap}.permission-chips span{background:#eee5d9;color:#65412f;border:1px solid #e0d2c2;border-radius:20px;padding:8px 12px;font-size:12px;font-weight:700}.kot-details summary{color:var(--rust);font-weight:700;cursor:pointer;white-space:nowrap}.kot-details ul{padding-left:18px;min-width:180px}.kot-details li{padding:5px 0}.actions form{display:inline}.actions a{font-weight:700}.narrow form p{margin:0 0 10px}.narrow form input[type=checkbox]{width:auto;margin-right:8px}.narrow form ul{list-style:none;padding:0;columns:2}.narrow form li{break-inside:avoid;padding:4px 0}.narrow form label{display:flex;align-items:center;gap:8px}.narrow form label input{width:auto;margin:0}@media(max-width:760px){.profile-grid{grid-template-columns:1fr}.profile-list{grid-template-columns:110px 1fr}.narrow form ul{columns:1}}


/* RUST & ROAST brand system — forged metal, ember orange and warm brass */
:root{--ink:#211914;--muted:#8f8174;--cream:#eee5d8;--paper:#fffaf1;--rust:#c34b16;--line:#d9c5a8;--green:#557044;--ember:#ff6a00;--brass:#e5a83b;--charcoal:#171411}
body{background:radial-gradient(ellipse at 50% -18%,rgba(217,105,23,.12),transparent 42%),linear-gradient(180deg,#f4eadb 0%,#e9ddcc 100%);color:var(--ink)}
.top{min-height:94px;padding:9px clamp(16px,4vw,58px);background:radial-gradient(ellipse at 20% 0%,rgba(191,72,12,.20),transparent 45%),linear-gradient(110deg,#100e0c,#27201a 58%,#120f0c);border-bottom:2px solid #a64b16;box-shadow:0 7px 24px rgba(31,17,8,.30)}
.brand{display:flex;align-items:center;min-width:210px;line-height:0;background:transparent}.brand-wordmark{display:block;width:clamp(190px,19vw,285px);height:auto;max-height:82px;object-fit:contain;filter:none;border:0;border-radius:0;box-shadow:none}
.top nav{align-items:center;gap:clamp(9px,1.25vw,19px)}.top nav a,.logout-form .nav-link{color:#f4e7d2;font-size:13px;font-weight:600;transition:color .18s ease}.top nav a:hover,.logout-form .nav-link:hover{color:#ffad43}.top nav a:hover:after{background:linear-gradient(90deg,#f05a12,#f4bd53)}
main{max-width:1320px}footer{color:#796653;letter-spacing:.04em}
.hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 76% 45%,rgba(255,111,0,.20),transparent 35%),radial-gradient(ellipse at 0% 100%,rgba(174,54,8,.24),transparent 45%),linear-gradient(125deg,#17120f,#302017 58%,#17120f);border:1px solid #71401f;border-radius:18px;box-shadow:0 18px 42px rgba(55,28,12,.24),inset 0 1px 0 rgba(255,198,108,.18)}
.hero:after{content:"";position:absolute;inset:10px;border:1px solid rgba(224,153,65,.23);border-radius:12px;pointer-events:none;z-index:-1}.hero h1{color:#fff0d6;text-shadow:0 3px 0 #6c2b0b,0 0 22px rgba(255,115,0,.30)}.hero p{color:#e1cdb2}.hero .lead{color:#ffb64f}.hero .eyebrow{color:#ff8b28}
.hero-emblem{width:min(34%,300px);flex:none;display:flex;align-items:center;justify-content:center;margin:0;padding:0;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}.hero-emblem img{display:block;width:100%;height:auto;max-height:310px;object-fit:contain;object-position:center;border:0;border-radius:0;box-shadow:none;filter:none}
.btn{background:linear-gradient(135deg,#e45b12,#a9320d);border:1px solid #f29a39;box-shadow:0 5px 13px rgba(107,39,8,.22)}.btn:hover{background:linear-gradient(135deg,#f4771d,#bb3b0b);transform:translateY(-1px)}.btn.secondary{background:#3b2a1d;color:#f9e7ca;border-color:#98612e}
.menu-card,.panel,.kot,.auth,.stats>div,.table-tile{background:linear-gradient(155deg,#fffaf1,#f5ead9);border-color:#d6b98f;box-shadow:0 8px 24px rgba(72,43,20,.10),inset 0 1px 0 #fff}.menu-card h3,.panel h2,.section-head h2,.page-head h1{color:#382318}.menu-card b,.menu-card small,.table-tile span,td a,.link{color:#b64212}.stats>div{border-top:3px solid #c45a1d}.stats strong{color:#512d18}.auth{border-top:4px solid #c65319;box-shadow:0 16px 38px rgba(72,43,20,.13)}.auth h1{color:#392318}
.auth input,.auth select,.panel input,.panel select,.panel textarea,.narrow input,.narrow select{background:#fffdf8;border-color:#d9c5a8}.kot{border-top-color:#e05b16}.pill{background:#e7eadb;color:#52643c}.pill.warn{background:#f9dfc6;color:#a44314}.notice{background:#f7e6c8;border:1px solid #e6bf7d;color:#6b3b16}.contact{background:linear-gradient(120deg,#2b1d14,#4a2918);color:#f8e6c8;border:1px solid #a65b24}.contact p{color:#e5c9a3}.eyebrow{color:#bd4b16}.profile-list dd,.permission-chips span{color:#5d351d}.permission-chips span{background:#f5e2c4;border-color:#d9b67f}
@media(max-width:760px){.top{min-height:80px}.brand-wordmark{width:210px;max-height:64px}.hero-emblem{width:210px;margin:26px auto 0}.hero{display:block}}
@media print{.top{background:#fff!important;box-shadow:none}}



/* Logo placement: keep the supplied PNG artwork untouched; style only its surrounding layout. */
.brand{background:transparent;padding:0;border:0;box-shadow:none}
.brand-wordmark,.hero-emblem img,.bill-wordmark{filter:none!important;mix-blend-mode:normal;opacity:1;transform:none}
.brand-wordmark{object-fit:contain;object-position:left center}
.hero-emblem{width:min(34%,320px);aspect-ratio:auto;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}
.hero-emblem img{width:100%;height:auto;max-height:320px;object-fit:contain;object-position:center;border:0;border-radius:0;box-shadow:none}
.bill-wordmark{display:block;width:min(360px,82%);height:auto;max-height:none;object-fit:contain;margin:0 auto 16px;border:0;border-radius:0;box-shadow:none}
@media(max-width:760px){.brand-wordmark{width:205px;max-height:62px}.hero-emblem{width:215px;margin:24px auto 0}.hero-emblem img{max-height:240px}}
@media print{.bill-wordmark{filter:none!important;box-shadow:none!important}}


/* ==========================================
   RUST & ROAST - FORGED STEEL TEXTURE
   ========================================== */

/* Full navbar background */
.rust-navbar {
    background:
        linear-gradient(
            rgba(12, 9, 7, 0.43),
            rgba(12, 9, 7, 0.43)
        ),
        url("../images/grungy-rusted-steel.png");

    background-size: cover;
    background-position: center 15%;
    background-repeat: no-repeat;

    border-bottom: 2px solid #a95125;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.35);

    color: #fff2df;
    position: relative;
    z-index: 10;
}

/* Navigation links */
.rust-navbar a {
    color: #fff0dc;
    transition: color 0.2s ease;
}

.rust-navbar a:hover {
    color: #f3a04f;
}

/* Main dashboard / hero card background */
.rust-texture-card {
    background:
        linear-gradient(
            rgba(17, 12, 9, 0.58),
            rgba(17, 12, 9, 0.58)
        ),
        url("../images/grungy-rusted-steel.png");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    border: 1px solid #a75b2b;
    border-radius: 20px;

    color: #fff0dc;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.22),
        inset 0 0 0 1px rgba(210, 128, 62, 0.25);
}

/* Text inside textured card */
.rust-texture-card h1,
.rust-texture-card h2,
.rust-texture-card h3,
.rust-texture-card p {
    color: #fff0dc;
}

/* Make buttons complement the steel texture */
.rust-texture-card .btn,
.rust-texture-card button {
    background: #ad4e25;
    color: #ffffff;
    border: 1px solid #e28a43;
    border-radius: 8px;
}

.rust-texture-card .btn:hover,
.rust-texture-card button:hover {
    background: #d1652d;
}

/* Responsive background positioning */
@media (max-width: 768px) {
    .rust-navbar {
        background-position: center top;
    }

    .rust-texture-card {
        background-position: center center;
        border-radius: 14px;
    }
}

