*{box-sizing:border-box}body{margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f6f3ee;color:#2a2320}
a{color:inherit;text-decoration:none}.muted{color:#7a6f68}.small{font-size:13px}.right{text-align:right}
.shell{display:flex;min-height:100vh}.side{width:230px;background:#5b1420;color:#fff;padding:16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{font-weight:700;font-size:18px;margin-bottom:16px}.side nav{display:flex;flex-direction:column;gap:4px;flex:1}.side nav a{padding:12px;border-radius:10px;color:#f3d9dc}.side nav a.on{background:#fff2;color:#fff;font-weight:600}
.me{display:flex;flex-direction:column;gap:4px;font-size:14px}.me span{opacity:.7}
.main{flex:1;min-width:0}.top{display:none}.page{max-width:900px;margin:0 auto;padding:18px 14px 60px}
.ph{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ph h1{margin:0;font-size:22px}
.card{background:#fff;border-radius:14px;padding:14px;margin-bottom:14px;box-shadow:0 1px 3px #0001}.card h3{margin:0 0 10px;font-size:16px;display:flex;justify-content:space-between;align-items:center}
.btn{border:0;border-radius:10px;padding:12px 16px;font-size:16px;font-weight:600;cursor:pointer;background:#5b1420;color:#fff;min-height:44px}.btn.ghost{background:#efe7e1;color:#5b1420}.btn.big{width:100%;padding:18px;font-size:20px;background:#1b7f4b}.btn:disabled{opacity:.5}
input,select,textarea{width:100%;padding:11px;border:1px solid #d8cfc8;border-radius:10px;font:inherit;background:#fff;min-height:44px}.field{display:block;margin-bottom:10px}.field span{display:block;font-size:13px;color:#7a6f68;margin-bottom:4px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.list{display:flex;flex-direction:column}.li{display:flex;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid #eee6df}.li:last-child{border:0}.li.click{cursor:pointer}.li.urgent{background:#fdecec;border-radius:8px;padding-left:8px}.grow{flex:1;min-width:0}.chk{cursor:pointer}.chk input{width:24px;min-height:24px}.strike{text-decoration:line-through;color:#999}
.badge{display:inline-block;padding:3px 9px;border-radius:99px;font-size:12px;font-weight:600;background:#eee;color:#555;white-space:nowrap}.badge.red{background:#fde0e0;color:#b3261e}.badge.green{background:#dff3e6;color:#1b7f4b}.badge.amber{background:#fdeccb;color:#9a6200}.badge.blue{background:#dbe9fb;color:#1f5fa8}
.tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto}.tabs button{border:0;background:#e9e1da;border-radius:99px;padding:10px 16px;font:inherit;font-weight:600;white-space:nowrap}.tabs button.on{background:#5b1420;color:#fff}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px}.tile{background:#fff;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 3px #0001}.tile .ic{font-size:22px}.tile b{font-size:28px}.tile b.red{color:#b3261e}.tile b.amber{color:#9a6200}.tile b.blue{color:#1f5fa8}.tile span:last-child{font-size:13px;color:#7a6f68}
.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse}.tbl td,.tbl th{padding:8px;border-bottom:1px solid #eee6df;text-align:left}
.modal-bg{position:fixed;inset:0;background:#0007;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:18px 18px 0 0;padding:16px}.modal h2{margin:0 0 10px;font-size:19px;display:flex;justify-content:space-between}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.thumbs img,.li img{width:72px;height:72px;object-fit:cover;border-radius:8px}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid #d8cfc8;background:#fff;border-radius:99px;padding:8px 12px;font:inherit}.chip.on{background:#5b1420;color:#fff}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#222;color:#fff;padding:12px 18px;border-radius:10px;z-index:99}.toast.bad{background:#b3261e}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.card.lg{width:100%;max-width:380px;padding:24px}
.scrim{display:none}
@media(max-width:760px){.side{position:fixed;left:-250px;z-index:60;transition:left .2s;width:240px}.side.open{left:0}.scrim{display:block;position:fixed;inset:0;background:#0006;z-index:55}.top{display:flex;align-items:center;gap:12px;background:#5b1420;color:#fff;padding:10px 14px;position:sticky;top:0;z-index:40;font-weight:600}.burger{background:none;border:0;color:#fff;font-size:24px;min-height:44px}.modal-bg{align-items:flex-end}}
.chk-line{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:15px}.chk-line input{width:20px;min-height:20px}.err{color:#b3261e}.link{background:none;border:0;color:#5b1420;text-decoration:underline;padding:12px 0;font:inherit}

.lg-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#111;padding:12px;gap:0;font-family:Manrope,system-ui,sans-serif}
.lg-art{background:linear-gradient(180deg,#0006 0,#000a 100%),url(/login.jpg) center/cover;border-radius:22px 0 0 22px;display:flex;align-items:flex-end;padding:48px;color:#fff;position:relative}
.lg-art-in{max-width:440px}.lg-eyebrow{position:absolute;top:48px;left:48px;letter-spacing:.2em;font-size:13px;display:flex;align-items:center;gap:14px}.lg-eyebrow i{display:block;width:70px;height:1px;background:#fff9}
.lg-art h2{font:400 46px/1.1 Marcellus,Georgia,serif;margin:0 0 14px}.lg-art p{margin:0;font-size:16px;line-height:1.5;opacity:.92}
.lg-form{background:#fff;border-radius:0 22px 22px 0;display:flex;align-items:center;justify-content:center;padding:32px}
.lg-form form{width:100%;max-width:400px;text-align:center}.lg-logo{width:150px;margin:0 auto 6px;display:block}
.lg-form h1{font:400 34px/1.2 Marcellus,Georgia,serif;margin:6px 0 8px;color:#1e1a1c}.lg-sub{color:#6b5e63;font-size:15px;margin:0 0 22px}
.lg-l{display:block;text-align:left;font-weight:600;font-size:14px;margin-bottom:14px;color:#2a2320}.lg-l input{margin-top:6px;background:#f4f2f0;border:1px solid #e6e0dc;border-radius:14px;padding:15px 16px;font-size:16px}
.lg-pw{position:relative;display:block}.lg-eye{position:absolute;right:10px;top:50%;transform:translateY(-35%);border:0;background:none;color:#5b1420;font-weight:600;font-size:14px;min-height:36px;padding:0 8px}
.lg-row{display:flex;justify-content:space-between;align-items:center;margin:6px 0 18px}.lg-forgot{background:none;border:0;font:inherit;font-family:Marcellus,Georgia,serif;font-size:16px;color:#1e1a1c;text-decoration:underline;padding:8px 0}
.lg-go{width:100%;border:0;border-radius:14px;background:#141012;color:#fff;font:600 17px Manrope,system-ui,sans-serif;padding:17px;min-height:54px;cursor:pointer}.lg-go:disabled{opacity:.6}
.lg-need{margin:22px 0 0;font-size:14px;color:#6b5e63}.lg-need b{color:#1e1a1c}
@media(max-width:820px){.lg-wrap{grid-template-columns:1fr;padding:0;background:#fff}.lg-art{display:none}.lg-form{border-radius:0;padding:28px 18px;align-items:flex-start;padding-top:48px}.lg-form h1{font-size:30px}}
input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pushbar{display:flex;align-items:center;gap:12px;justify-content:space-between;background:#fff8e6;border:1px solid #f0dca4;border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:14px;flex-wrap:wrap}.pushbar.ok{background:#e8f5ec;border-color:#bfe0c9}
.pushwrap{max-width:900px;margin:0 auto;padding:12px 14px 0}.pushwrap:empty{display:none}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px 12px;margin-bottom:8px}
.li select{width:auto;flex:0 0 auto;min-width:118px;max-width:46%}.li .grow{min-width:110px;overflow-wrap:anywhere}.li .grow b{display:block}
@media(max-width:520px){.li{flex-wrap:wrap}.li select{max-width:none;flex:1 1 100%;margin-top:4px}}
.lg-wrap{grid-template-columns:1fr!important;background:#f6f3ee!important;padding:0!important}.lg-form{border-radius:0!important;background:transparent!important;align-items:center!important;padding:32px 18px!important}.lg-form form{background:#fff;border-radius:20px;padding:32px 26px;box-shadow:0 6px 30px #0000001a}
.side{background:#2b1c1f!important;padding:18px 14px!important;width:260px!important}
.brand{display:flex;align-items:center;gap:12px;margin:0 4px 26px!important}.brand img{width:46px;height:46px;border-radius:10px}.brand b{display:block;font:600 21px/1.2 Marcellus,Georgia,serif;color:#fff}.brand span{display:block;font-size:14px;color:#cdbfc1;margin-top:2px;font-weight:400}
.side nav{gap:6px!important}.side nav a{display:flex;align-items:center;gap:16px;padding:13px 16px!important;border-radius:14px!important;color:#e3d6d7!important;font-size:17px;font-weight:500}.side nav a:hover{background:#ffffff12}.side nav a.on{background:#7b1d2a!important;color:#fff!important;font-weight:700}
.side .me{border-top:1px solid #ffffff1f;padding-top:14px;margin-top:10px}.side .me b{color:#fff}.side .me .btn,.side .me button{background:#ffffff14!important;color:#f3e8e8!important}
@media(max-width:760px){.top{background:#2b1c1f!important}}
.side nav a{font-size:15px!important}
.btn.big{width:auto!important;min-height:42px!important;padding:8px 22px!important;font-size:16px!important}.card .row .btn{min-height:40px;padding:8px 18px;font-size:15px}
.side{height:100vh;height:100dvh!important;box-sizing:border-box;overflow:hidden}
.side nav{overflow-y:auto;min-height:0;flex:1 1 auto}
.side .me{flex:0 0 auto;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
@media(max-width:760px){.side{top:0;bottom:0;height:100dvh!important;padding-top:12px!important}.brand{margin-bottom:12px!important}.side nav a{padding:10px 14px!important}.side nav{gap:2px!important}.side .me{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}
.card .card-h{flex-wrap:wrap;gap:4px 12px;margin-bottom:12px}.card .row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:6px 0 4px}
.btn.ok{background:#2e8b57!important;color:#fff!important}.btn.warn{background:#f5c518!important;color:#3a2e00!important}

/* ===== Option 3: Clean Dashboard theme ===== */
body{background:#f4f1ee;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
.page{padding:14px 16px 70px}
.ph{margin:4px 0 14px}.ph .eb{color:#5b1420;letter-spacing:.18em;font-size:10px;font-weight:700;margin-bottom:2px}.ph h1{font-size:28px;font-weight:600;letter-spacing:-.01em}
.card{border-radius:20px;padding:16px;box-shadow:0 2px 10px #0000000d;border:0}
.card h3{font-size:15px;font-weight:700}
.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.tile{border-radius:18px;padding:16px;box-shadow:0 2px 10px #0000000d}.tile b,.tile .n{font-size:26px;font-weight:700}
.tabs button{background:#fff;border-radius:99px;font-size:13px;box-shadow:0 1px 4px #0000000a}.tabs button.on{background:#5b1420;color:#fff}
.chip.on{background:#5b1420;color:#fff;border-color:#5b1420}
.btn{border-radius:14px;background:#5b1420}.btn.ghost{background:#f1ebe6;color:#5b1420}
input,select,textarea{background:#f7f3ef;border:1px solid #e8e0d9;border-radius:12px}
.badge{font-weight:700;font-size:11px;padding:4px 10px}
.li{padding:13px 4px;border-bottom:1px solid #ece5df}
.li.urgent{border-radius:12px}
.modal,.box{border-radius:22px 22px 0 0}
.top{background:#fff!important;color:#2b1c1f!important;box-shadow:0 1px 6px #0000000d}.top .burger{background:#f1ebe6;color:#5b1420;border-radius:11px;width:36px;height:36px}
.eb{display:block}
.pushbar{border-radius:16px}
.tbl th{font-size:12px;color:#8b7a70;text-transform:uppercase;letter-spacing:.06em}
.side{box-shadow:4px 0 24px #0000001a}
.refresh{border:0;background:#f1ebe6;color:#5b1420;border-radius:11px;width:40px;height:40px;font-size:22px;line-height:1;cursor:pointer;margin-left:auto;flex:none}
.pa{display:flex;gap:8px;align-items:center}.pa .refresh{margin-left:0}
@media(max-width:760px){.deskonly{display:none}}
.foot{text-align:center;color:#8b7a70;font-size:13px;padding:18px 16px 28px;border-top:1px solid #ece5df;margin-top:10px}
.main{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.main .page{flex:1 0 auto;width:100%}

/* ===== mobile app chrome: maroon header + bottom tab bar ===== */
.tabbar{display:none}.top-acts button{background:none;border:0;color:#fff;width:42px;height:42px;display:flex;align-items:center;justify-content:center;position:relative;padding:0;min-height:0;cursor:pointer}
.bellb i{position:absolute;top:3px;right:2px;background:#e5484d;color:#fff;border-radius:99px;font:700 10px/1 system-ui;font-style:normal;padding:3px 5px;min-width:16px;text-align:center}
.refresh{display:none!important}.pa .refresh.deskonly{display:inline-flex!important;align-items:center;justify-content:center}
@media(max-width:760px){
  .pa .refresh{display:none!important}
  .top{display:flex!important;align-items:center;gap:10px;background:#6f2630!important;color:#fff!important;padding:calc(10px + env(safe-area-inset-top)) 14px 12px!important;position:sticky;top:0;z-index:40;box-shadow:none!important}
  .top-logo{width:40px;height:40px;border-radius:10px;border:1px solid #d6b36a66}
  .top-name{font:400 21px Marcellus,Georgia,serif;letter-spacing:.01em;flex:1}
  .top-acts{display:flex;gap:2px}
  .page{padding-bottom:20px}
  .foot{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid #e8e0d9;padding:8px 6px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}
  .tabbar a,.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:#8b7a70;font:600 12px system-ui,-apple-system;background:none;border:0;min-height:0;padding:4px 0;cursor:pointer}
  .tabbar .on{color:#5b1420}
  .side{z-index:60}.scrim{z-index:55}
  .toast{bottom:90px}
}

/* modal overlay: solid sheet, no bleed-through */
.ov{position:fixed;inset:0;z-index:100;background:#000a;display:flex;align-items:flex-end;justify-content:center}
.box{background:#fff;width:100%;max-width:560px;max-height:88vh;max-height:88dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:22px 22px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -6px 30px #0004}
.box .card-h{position:sticky;top:-16px;background:#fff;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:6px 0 10px;margin:-6px 0 6px;border-bottom:1px solid #ece5df}
.box .card-h h3{margin:0;font-size:18px}
.box .x{border:0;background:#f1ebe6;color:#5b1420;border-radius:50%;width:36px;height:36px;font-size:22px;line-height:1;cursor:pointer;min-height:0;padding:0}
@media(min-width:761px){.ov{align-items:center}.box{border-radius:22px}}
.ptr{position:fixed;top:0;left:50%;margin-left:-20px;width:40px;height:40px;border-radius:50%;background:#fff;color:#5b1420;box-shadow:0 2px 10px #0003;display:flex;align-items:center;justify-content:center;font-size:24px;z-index:300;pointer-events:none;transition:opacity .1s}
.ptr .spin{display:inline-block;animation:sp .8s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
@media(min-width:761px){.ptr{display:none}}
@media(max-width:760px){.side{left:-320px!important;box-shadow:none!important;visibility:hidden}.side.open{left:0!important;visibility:visible;box-shadow:4px 0 24px #0000004d!important}}
html,body{overscroll-behavior-x:none;overflow-x:hidden;background:#f4f1ee;touch-action:pan-y pinch-zoom}
@media(max-width:760px){.side{top:0!important;bottom:0!important;height:auto!important;max-height:none!important}.side nav{flex:1 1 auto}.side .me{margin-top:auto!important;flex:0 0 auto;padding-bottom:calc(18px + env(safe-area-inset-bottom))!important}}
@media(max-width:760px){.pa .refresh.deskonly{display:none!important}.ph{padding-right:0}}
.ptr{width:auto!important;height:auto!important;margin-left:0!important;transform-origin:center;left:50%;border-radius:99px!important;padding:10px 18px;gap:10px;font-size:15px!important;white-space:nowrap;translate:-50% 0}
.ptr b{font-size:14px;font-weight:600;color:#2b1c1f}.ptr .spin{display:inline-block;font-size:22px;animation:sp .8s linear infinite}
.btn.edit{background:#e8f0fe;color:#1a56c4}.btn.danger{background:#fde5e5;color:#b3261e}
.btn.edit,.btn.danger{min-height:40px;padding:8px 18px;font-size:15px}
.box{overflow-x:hidden!important;box-sizing:border-box}
.box *{max-width:100%;min-width:0}
.box .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.box .two>*{min-width:0}
.box input,.box select,.box textarea{width:100%!important;box-sizing:border-box;min-width:0}
.box input[type=date],.box input[type=datetime-local],.box input[type=time]{-webkit-appearance:none;appearance:none;display:block;text-align:left;min-height:44px}
.box input[type=file]{font-size:14px;padding:10px}
.box .field{display:block;min-width:0}
@media(max-width:760px){html{background:linear-gradient(#6f2630 0,#6f2630 160px,#f0eeeb 160px)!important}body::before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top);background:#6f2630;z-index:60;pointer-events:none}.top{will-change:transform;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
