:root{--g:#007DB3;--blue:#009CDA;--band:#191970;--gray:#6E6F73;--bg:#F6F6F6;--red:#d64545;--or:#e8912d;--gr:#2e9b52;--ink:#151515;--mut:#5E5E5E}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.hidden{display:none!important}
.screen{max-width:560px;margin:0 auto;padding:env(safe-area-inset-top) 12px calc(env(safe-area-inset-bottom) + 24px)}
.logo{text-align:center;margin-top:12vh}.logo img{width:96px;border-radius:22px}.logo h1{margin:.3em 0 1em;color:var(--g)}
form label{display:block;margin:.6em 0;font-weight:600}input,select{width:100%;font-size:17px;padding:12px;border:1px solid #767676;border-radius:10px;background:#fff;margin-top:4px}
button{font-size:16px;border:0;border-radius:10px;padding:10px 14px;background:var(--g);color:#fff;font-weight:600;cursor:pointer}
button.big{width:100%;padding:14px;font-size:18px;margin-top:10px}button.link{background:none;color:var(--g);padding:4px}
.err{color:var(--red);font-weight:600}
header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;position:sticky;top:0;background:var(--band);color:#fff;border-bottom:4px solid var(--blue);margin:0 -12px;padding:10px 12px;z-index:2}
.role{font-size:12px;background:#ECECEC;border-radius:6px;padding:2px 6px;text-transform:uppercase;letter-spacing:.04em}
.chips{display:flex;gap:6px}.chip{min-width:34px;text-align:center;border-radius:20px;padding:3px 9px;color:#fff;font-weight:700}
.chip.red,.dot.red{background:var(--red)}.chip.orange,.dot.orange{background:var(--or)}.chip.green,.dot.green{background:var(--gr)}
.banner{background:#fff;border:1px solid #D6D6D6;border-radius:12px;padding:10px 12px;margin:6px 0;display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:15px}
.banner.warn{background:#fff4e0;border-color:var(--or)}.banner button{white-space:nowrap}
.todayline{color:var(--mut);font-size:14px;margin:6px 2px}
.filters{display:flex;gap:6px;margin:6px 0}.filters button{background:#ECECEC;color:var(--ink);padding:7px 12px}.filters button.on{background:var(--ink);color:#fff}
#queue{list-style:none;margin:0;padding:0}
.card{background:#fff;border-radius:14px;margin:8px 0;padding:12px 12px 12px 18px;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.08);cursor:pointer}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;border-radius:14px 0 0 14px;background:var(--red)}
.card.orange::before{background:var(--or)}.card.green::before{background:var(--gr)}
.card .top{display:flex;justify-content:space-between;font-weight:700}.card .amt{font-variant-numeric:tabular-nums}
.card .item{color:#151515;font-size:14px;margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .meta{font-size:13px;color:var(--mut);display:flex;gap:8px;flex-wrap:wrap}
.kind{border-radius:6px;padding:1px 6px;background:#ECECEC;color:#5E5E5E;font-weight:600}
.kind.who{background:#fde2e2;color:#9b2c2c}.kind.mail{background:#e1ecfb;color:#1f4f8f}
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:10;overflow:auto}
.sheet-in{background:var(--bg);max-width:560px;margin:4vh auto 0;min-height:96vh;border-radius:18px 18px 0 0;padding:16px 14px calc(env(safe-area-inset-bottom) + 40px);position:relative}
.x{position:absolute;right:10px;top:8px;background:#ECECEC;color:var(--ink);font-size:24px;padding:2px 12px}
.sheet h3{margin:16px 0 6px;font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}
.hd .v{font-size:20px;font-weight:800}.hd .a{font-size:26px;font-weight:800}.hd .t{color:#151515;font-size:14px;margin-top:4px}
.colorbar{display:flex;align-items:center;gap:8px;margin-top:8px;font-weight:700}.dot{width:16px;height:16px;border-radius:50%;display:inline-block}
.missing{font-size:14px;color:#8a3b12;margin-top:6px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid button{background:#fff;color:var(--ink);border:2px solid #D6D6D6;padding:14px 8px}
.grid button.on{border-color:var(--g);background:#E3F4FB;color:var(--g)}
.guess{background:#fff;border:1px dashed var(--g);border-radius:12px;padding:8px 10px;margin:6px 0;display:flex;justify-content:space-between;align-items:center;gap:8px}
.guess small{color:var(--mut);display:block}.guess button{padding:8px 10px}
.photoBtn{display:inline-block;background:#fff;border:2px dashed #767676;border-radius:12px;padding:12px 16px;font-weight:600;cursor:pointer}.photoBtn input{display:none}
.photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.photos img{width:88px;height:88px;object-fit:cover;border-radius:10px;border:1px solid #ccc}
.row{display:flex;gap:8px}.row input{margin:0}
.comments,.hist{list-style:none;padding:0;font-size:14px}.comments li,.hist li{background:#fff;border-radius:10px;padding:8px 10px;margin:6px 0}
.hist li{background:none;padding:3px 0;border-bottom:1px solid #ECECEC}.src{font-size:11px;text-transform:uppercase;border-radius:5px;padding:1px 5px;background:#ECECEC;margin-right:4px}
.src.bot{background:#e8defa}.src.script{background:#dfeee4}.small{font-size:12px;text-transform:none;letter-spacing:0}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);transform:translateX(-50%);background:var(--gr);color:#fff;padding:14px 18px;border-radius:14px;font-weight:700;z-index:20;max-width:92vw;text-align:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.toast.bad{background:var(--red)}
details{margin-top:14px}summary{cursor:pointer;color:var(--mut)}

/* ---- tabs + schedule ---- */
.tabs{display:flex;gap:6px;margin:8px 0 2px}
.tabs button{flex:1;padding:10px;border:0;border-radius:10px;background:#ECECEC;font-weight:600;font-size:15px;color:#333}
.tabs button.on{background:#191970;color:#fff}
.badge{display:inline-block;min-width:20px;padding:1px 6px;border-radius:10px;background:#d64545;color:#fff;font-size:12px;margin-left:4px}
.tcard{list-style:none;background:#fff;border-radius:12px;margin:8px 0;padding:12px 12px 12px 16px;cursor:pointer;border-left:7px solid #999;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.tcard.red{border-left-color:#d64545}.tcard.orange{border-left-color:#ee9a2f}.tcard.green{border-left-color:#2e9b55}.tcard.grey{border-left-color:#bbb;opacity:.7}
.tcard .top{display:flex;justify-content:space-between;font-weight:700;gap:8px}
.tcard .why{font-size:13px;color:#555;margin-top:4px}
.ex{font-size:11px;font-weight:700;padding:2px 6px;border-radius:6px;background:#eee;color:#333}
.ex.BOT{background:#e3ecff;color:#1d3f91}.ex.SCRIPT{background:#ece7ff;color:#4b2c91}.ex.PERSON{background:#E3F4FB;color:#007DB3}
.ex.FLIP{background:#fde8d7;color:#9a4b0b}
#schedList,#myTasks{padding:0;margin:0}
.mytasks .tcard{border:2px solid #ee9a2f;border-left-width:7px}
.flipbox{background:#fff4e8;border:1px solid #f0c08a;border-radius:10px;padding:10px;margin:8px 0;font-size:14px}
.checklist{padding-left:22px}.checklist li{margin:6px 0;font-size:15px}
.checklist label{display:flex;gap:8px;align-items:flex-start}
.facts{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:14px}.facts dt{color:#666}.facts dd{margin:0}
.lbl{display:block;margin:6px 0;font-size:14px}.lbl select{width:100%;margin-top:3px}
.ghost{background:transparent;border:1px solid #999;border-radius:8px;padding:8px 12px;margin-top:8px}
.banner.danger{background:#fde2e2;border-color:#e9a3a3}
.checklist label{display:flex;gap:10px;align-items:flex-start;text-align:left;margin:0}
.checklist input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin:1px 0 0;padding:0}
.checklist label span{flex:1}
.ex{white-space:nowrap;align-self:flex-start;height:fit-content}

header .role{background:#6E6F73;color:#fff}header button{background:#2B2B8A;color:#fff}header a{color:#fff}
header .logo{height:34px;width:auto;flex:none}

a{color:#0072A3}header a{color:#fff}
