:root{--bg:#111513;--bg-soft:#181d1b;--panel:#202623;--panel-2:#252c28;--border:#3f4841;--stone:#8a9188;--text:#f0eee6;--muted:#a7aea8;--bronze:#c5944b;--bronze-bright:#edbf71;--water:#5d9a93;--danger:#c16d61;--success:#78a879;--shadow:0 18px 45px #06080770}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,#30403b33,transparent 30%),linear-gradient(135deg,#111513,#181c1a)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(30deg,#ffffff08 12%,transparent 12.5%,transparent 87%,#ffffff08 87.5%),linear-gradient(150deg,#ffffff08 12%,transparent 12.5%,transparent 87%,#ffffff08 87.5%);background-size:36px 63px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;margin:0 0 .5rem;letter-spacing:.04em}
h1{font-size:clamp(1.65rem,3vw,2.35rem)}h2{font-size:1.2rem}h3{font-size:1rem}
p{line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}
.eyebrow{color:var(--bronze-bright);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;margin:0 0 .4rem}.muted,small{color:var(--muted)}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:1.3rem 1rem;display:flex;flex-direction:column;border-right:1px solid var(--border);background:linear-gradient(180deg,#1a1f1d 0,#121614 100%);z-index:20}
.logo{display:flex;align-items:center;gap:.8rem;padding:.3rem .5rem 1.4rem}.logo strong,.logo small{display:block;font-family:Cinzel;color:var(--text)}.logo small{font-size:.7rem;color:var(--bronze);letter-spacing:.14em}
.brand-mark{height:76px;width:76px;display:block;object-fit:contain;clip-path:polygon(50% 0,90% 22%,90% 78%,50% 100%,10% 78%,10% 22%);filter:drop-shadow(0 5px 10px #0008)}.brand-mark.small{height:42px;width:42px;flex:none}
.shop-chip{padding:.9rem;margin:.3rem .4rem 1.3rem;background:#ffffff07;border:1px solid #ffffff0c;border-left:2px solid var(--water)}.shop-chip span,.shop-chip strong{display:block}.shop-chip span{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.shop-chip strong{margin-top:.25rem;font-size:.85rem}
.sidebar nav{display:flex;flex-direction:column;gap:.2rem}.sidebar nav a{display:flex;align-items:center;gap:.8rem;padding:.72rem .8rem;color:var(--muted);border:1px solid transparent;border-radius:3px;font-size:.84rem}.sidebar nav a span{width:1.3rem;text-align:center;color:var(--stone)}.sidebar nav a:hover{background:#ffffff08;color:var(--text)}.sidebar nav a.active{background:linear-gradient(90deg,#c5944b1f,transparent);border-left-color:var(--bronze);color:var(--bronze-bright)}
.sidebar-foot{margin-top:auto;border-top:1px solid var(--border);padding:.9rem .3rem 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem}.sidebar-foot strong,.sidebar-foot small{display:block;font-size:.76rem}.user-orb{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#38413c;border:1px solid #626e66;color:var(--bronze-bright);font-family:Cinzel}
.main-content{padding:0 clamp(1rem,3vw,3rem) 3rem;min-width:0}.topbar{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.topbar h1{font-size:1.5rem}.topbar p{margin:0}.date-chip,.week-switch{border:1px solid var(--border);background:#ffffff06;color:var(--muted);padding:.65rem .9rem;font-size:.8rem}
.menu-button{display:none;background:none;border:0;color:var(--text);font-size:1.4rem}.week-switch{margin-left:auto;margin-bottom:1rem;width:max-content;display:flex;align-items:center;gap:1rem}.week-switch a{color:var(--bronze);font-size:1.2rem}
.control-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.9rem 1rem;border:1px solid #557b75;border-left:3px solid var(--water);background:#28413d55}.control-banner strong,.control-banner span{display:block}.control-banner strong{font-family:Georgia,serif;color:#a8d0ca}.control-banner span{margin-top:.2rem;color:var(--muted);font-size:.76rem}
.panel,.metric{background:linear-gradient(145deg,#232a26f2,#1c211ff2);border:1px solid var(--border);box-shadow:var(--shadow);position:relative}.panel:before,.metric:before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid #ffffff08}
.panel{padding:1.35rem;margin-bottom:1.2rem}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}.panel-heading>strong,.live-total{color:var(--bronze-bright);font:600 1.15rem Cinzel}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.2rem}.metric-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric{padding:1.2rem;min-height:125px;display:flex;flex-direction:column;justify-content:center}.metric span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.metric strong{font:600 1.65rem Cinzel;margin:.5rem 0}.metric.featured{border-color:#98713d;background:linear-gradient(145deg,#3a3022,#22241f)}.metric.featured strong{color:var(--bronze-bright)}.metric.danger strong,.negative{color:#e28a7e!important}.metric.warning{border-color:#8d713c}.positive{color:#89bf8b!important}.metric-icon{position:absolute;right:1rem;top:1rem;color:#c5944b55;font-size:2rem}
.split-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem}.stone-panel{background:linear-gradient(135deg,#2e3430,#1d2220)}.source-bars>div{display:grid;grid-template-columns:75px 1fr;align-items:center;margin:.7rem 0;font-size:.75rem}.source-bars i{display:block;height:6px;background:linear-gradient(90deg,var(--bronze) var(--width),#ffffff12 var(--width));border-radius:4px}
.form-stack{display:flex;flex-direction:column;gap:.85rem}.form-grid,.quick-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.quick-form{grid-template-columns:1fr 1fr}.wide{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:.35rem;color:#c6cbc7;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}label small{text-transform:none;font-weight:400}
input,select{width:100%;min-height:42px;background:#111614;border:1px solid #4a544d;border-radius:2px;color:var(--text);padding:.65rem .72rem;outline:none}input:focus,select:focus{border-color:var(--bronze);box-shadow:0 0 0 2px #c5944b20}
.button{display:inline-flex;justify-content:center;align-items:center;gap:.4rem;min-height:40px;padding:.65rem 1rem;border:1px solid #626b64;background:#2c332f;color:var(--text);border-radius:2px;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.button:hover{filter:brightness(1.15)}.button-primary{background:linear-gradient(#c99a55,#9a682d);border-color:#e3bb7e;color:#16110b}.button.subtle{align-self:flex-start;background:transparent;color:var(--bronze-bright);border-style:dashed}.button.small{min-height:30px;padding:.4rem .65rem;font-size:.65rem}.danger-button{border-color:#a85c54;color:#ef9c91;background:#472825}.button:disabled{opacity:.45;cursor:not-allowed}.icon-button{background:none;border:0;color:var(--muted);font-size:1.15rem}
.line-entry{display:grid;grid-template-columns:minmax(180px,2fr) 100px 140px 36px;gap:.7rem;align-items:end;margin-bottom:.65rem;padding:.75rem;background:#ffffff04;border-left:2px solid var(--water)}.remove-line{height:42px}
.table-wrap{overflow:auto;margin:0 -.2rem}table{width:100%;border-collapse:collapse;font-size:.78rem}th{text-align:left;color:var(--stone);font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid var(--border);padding:.7rem}td{padding:.8rem .7rem;border-bottom:1px solid #ffffff0b;vertical-align:top}tr:last-child td{border:0}.muted-row{opacity:.48;text-decoration-color:#aa6b62}.badge{display:inline-flex;padding:.25rem .45rem;font-size:.59rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid #69736c;color:#c7cec9;background:#ffffff08}.badge-active,.badge-open,.badge-paid{color:#9ac69b;border-color:#517452}.badge-cancelled,.badge-closed{color:#d38b82;border-color:#8b4d47}.badge-modified{color:#e2bd74;border-color:#8a6c35}.row-actions{position:relative}.row-actions summary{color:var(--bronze);cursor:pointer}.mini-form{display:flex;flex-direction:column;gap:.4rem;padding:.7rem;background:#151a18;border:1px solid var(--border);min-width:210px}.mini-form>div{display:flex;gap:.3rem}
.inventory-grid,.admin-shop-grid,.week-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}.product-card,.admin-shop-grid article,.week-cards article{padding:1rem;border:1px solid var(--border);background:#171c1a;position:relative}.product-card.low{border-color:#96733e}.product-card>strong{font:600 2rem Cinzel;color:var(--bronze-bright);position:absolute;right:1rem;top:1rem}.product-card>small{display:block}.product-sku{font-size:.6rem;color:var(--water);letter-spacing:.1em}.product-card details{margin-top:.8rem}.product-card summary{color:var(--bronze);font-size:.7rem;cursor:pointer}
.admin-shop-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.admin-shop-grid article dl{width:100%}.admin-shop-grid article form{margin:0}
.product-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.8rem}.product-actions details{margin:0}.product-actions form{margin:0}.archived-products>summary{cursor:pointer;color:var(--muted);font-family:Georgia,serif;font-weight:700}.archived-products[open]>summary{margin-bottom:1rem}
.charge-actions{display:flex;flex-direction:column;gap:.7rem}.charge-actions form{display:flex;align-items:center;justify-content:space-between;padding:.7rem;background:#ffffff05}.week-cards article{display:flex;flex-direction:column;gap:.65rem}.week-cards dl,.admin-shop-grid dl{display:flex;gap:1rem;margin:0}.week-cards dl div,.admin-shop-grid dl div{flex:1}.week-cards dt,.admin-shop-grid dt{color:var(--muted);font-size:.65rem}.week-cards dd,.admin-shop-grid dd{margin:.2rem 0;font-weight:700}.week-cards form{margin:0}
.invite-panel{display:flex;justify-content:space-between;align-items:center}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.7rem}.team-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.8rem;border:1px solid var(--border);background:#ffffff04}.team-grid h3,.team-grid p{margin:0}.team-grid p{color:var(--muted);font-size:.7rem}.team-grid article.inactive{opacity:.45}
.audit-list article{display:grid;grid-template-columns:20px 1fr auto;gap:.7rem;padding:.8rem 0;border-bottom:1px solid #ffffff0c}.audit-list p{margin:.2rem 0;color:var(--muted);font-size:.75rem}.audit-list time{font-size:.67rem;color:var(--muted)}.audit-list details{grid-column:2/-1}.audit-list pre{white-space:pre-wrap;font-size:.68rem;background:#111614;padding:.7rem;max-height:260px;overflow:auto}.audit-dot{width:9px;height:9px;margin-top:.35rem;transform:rotate(45deg);background:var(--bronze)}
.empty-state{text-align:center;color:var(--muted);padding:2rem!important}.toast{position:fixed;z-index:100;top:1rem;left:50%;transform:translateX(-50%);max-width:min(90vw,680px);padding:.8rem 1rem;background:#253129;border:1px solid #67866c;box-shadow:var(--shadow);font-size:.82rem;display:flex;gap:.6rem;align-items:center}.toast-error{background:#3d2926;border-color:#a76359}.toast-invite{flex-wrap:wrap}.toast-invite strong{width:100%}.toast-invite input{min-width:min(70vw,500px);min-height:32px}
.table-actions{display:flex;flex-wrap:wrap;gap:.35rem}.table-actions form{margin:0}
.auth-page{background:radial-gradient(circle at 20% 30%,#49645b40,transparent 32%),linear-gradient(120deg,#111513,#24241c)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr minmax(340px,480px);align-items:center;gap:5vw;max-width:1100px;margin:auto;padding:2rem}.auth-shell.single{grid-template-columns:minmax(300px,520px);justify-content:center}.auth-brand h1{font-size:clamp(2.5rem,7vw,5.5rem);line-height:.95}.auth-brand h1 span{color:var(--bronze-bright)}.auth-brand>p:last-child{max-width:490px;color:var(--muted)}.auth-card{padding:clamp(1.5rem,4vw,2.5rem)}.auth-card .brand-mark{margin-bottom:1rem}.auth-hint{text-align:center;color:var(--muted);font-size:.72rem;border-top:1px solid var(--border);padding-top:1rem;margin-top:1.2rem}
@media(max-width:950px){.metric-grid{grid-template-columns:repeat(2,1fr)}.split-grid{grid-template-columns:1fr}.line-entry{grid-template-columns:2fr 90px 120px 36px}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;width:260px;transform:translateX(-105%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-content{padding:0 1rem 2rem}.menu-button{display:block}.topbar{height:82px;justify-content:flex-start;gap:1rem}.date-chip{margin-left:auto}.topbar h1{font-size:1.15rem}.metric-grid,.metric-grid.compact{grid-template-columns:1fr 1fr}.metric{min-height:105px;padding:.9rem}.metric strong{font-size:1.25rem}.quick-form,.form-grid{grid-template-columns:1fr}.line-entry{grid-template-columns:1fr 1fr 36px}.line-entry label:first-child{grid-column:1/-1}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.invite-panel,.control-banner{align-items:flex-start;gap:1rem;flex-direction:column}.week-switch{margin-right:auto}.panel{padding:1rem}}
@media(max-width:460px){.metric-grid,.metric-grid.compact{grid-template-columns:1fr}.line-entry{grid-template-columns:1fr 36px}.line-entry label{grid-column:1}.line-entry .remove-line{grid-column:2;grid-row:1/4}.date-chip{display:none}.toast{align-items:stretch;flex-direction:column}}
