:root{--pink:#ef5791;--pink-deep:#c93a73;--pink-soft:#fde4ee;--green:#2fb36d;--green-soft:#ddf5e7;--bg:#fbf6ef;--card:#fff;--text:#2a1320;--muted:#7d6370;--line:#eadbe2;--warn:#b85c00;--cl:#ef5791;--cpc:#2b9fd9;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#1a0b12;--card:#2a1320;--text:#f8f1e5;--muted:#c7b1bc;--line:#4a2638;--pink-soft:#4a1f33;--green-soft:#173d29;--warn:#ffb86b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.4}button,input,select{font:inherit;color:inherit}.splash{min-height:100vh;color:var(--muted);place-items:center;display:grid}.auth{max-width:420px;padding:max(40px, env(safe-area-inset-top)) 20px 40px;flex-direction:column;gap:14px;margin:0 auto;display:flex}.auth .logo{align-self:center;height:64px}.auth h1{text-align:center;margin:4px 0 8px}.auth label{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}input,select{border:1px solid var(--line);background:var(--card);border-radius:12px;width:100%;padding:12px 14px;font-size:17px}.msg{background:var(--pink-soft);border-radius:10px;margin:0;padding:10px 12px}button.primary{background:var(--pink);color:#fff;border:none;border-radius:12px;padding:14px;font-size:17px;font-weight:700}button.primary:active{background:var(--pink-deep)}button.primary:disabled{opacity:.6}button.secondary{border:1px solid var(--pink);color:var(--pink);background:0 0;border-radius:12px;margin-top:10px;padding:10px 14px;font-weight:600}button.link{color:var(--pink);background:0 0;border:none;padding:10px}.lang-switch,.seg{background:var(--line);border-radius:12px;gap:6px;padding:4px;display:flex}.lang-switch button,.seg button{background:0 0;border:none;border-radius:9px;flex:1;padding:8px}.lang-switch button.on,.seg button.on{background:var(--card);font-weight:700;box-shadow:0 1px 3px #0000001a}.app{min-height:100vh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}header.top{z-index:2;padding:max(10px, env(safe-area-inset-top)) 16px 10px;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:10px;font-weight:700;display:flex;position:sticky;top:0}header.top img{height:28px}main{max-width:640px;margin:0 auto;padding:16px}section h1{margin:4px 0 12px;font-size:24px}section h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 8px;font-size:15px}.muted{color:var(--muted)}.small{font-size:13px}nav.tabs{background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}nav.tabs button{color:var(--muted);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;font-size:12px;display:flex}nav.tabs button .icon{font-size:20px;line-height:1.2}nav.tabs button.on{color:var(--pink);font-weight:700}.banner{border-radius:12px;margin-bottom:8px;padding:12px 14px;font-weight:600}.banner.in{background:var(--green-soft)}.list{flex-direction:column;gap:8px;display:flex}.day-row{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:64px 1fr;align-items:start;gap:10px;margin-bottom:8px;padding:10px 12px;display:grid}.day-row.today{border-color:var(--pink)}.day-row.off{opacity:.6}.day-row .day{text-transform:capitalize;font-weight:700}.day-row .day span{color:var(--muted);font-size:13px;font-weight:500;display:block}.col{flex-direction:column;gap:8px;display:flex}.shift{justify-content:space-between;align-items:center;gap:8px;display:flex}.shift .when{flex-direction:column;display:flex}.shift .when span{color:var(--muted);font-size:14px}.venue{color:#fff;background:var(--cl);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.venue.CPC{background:var(--cpc)}.notice{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.notice.unread{border-left:4px solid var(--pink)}.notice p{white-space:pre-line;margin:4px 0}.notice small{color:var(--muted)}.weeknav{justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:700;display:flex}.weeknav button{border:1px solid var(--line);background:var(--card);border-radius:12px;width:44px;height:44px;font-size:24px}.seg{margin-bottom:14px}.total{text-align:right;font-weight:700}.team-day{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:10px 12px}.team-day.today{border-color:var(--pink)}.team-day h3{text-transform:capitalize;margin:0 0 6px;font-size:16px}.team-group{margin:6px 0}.team-head{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.chip{background:var(--line);border-radius:999px;padding:3px 10px;font-size:14px}.chip.me{background:var(--pink);color:#fff;font-weight:700}.chip.open{border:1px dashed var(--warn);color:var(--warn);background:0 0}.pill{background:var(--line);border-radius:999px;margin-bottom:8px;padding:3px 10px;font-size:13px;display:inline-block}.pill.ok{background:var(--green-soft)}table.hours{border-collapse:collapse;background:var(--card);border-radius:14px;width:100%;overflow:hidden}table.hours th,table.hours td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}table.hours th{color:var(--muted);font-size:13px;font-weight:600}table.hours td:first-child{text-transform:capitalize}table.hours tfoot td{border-bottom:none;font-weight:700}.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:12px 14px}.panel h2{margin-top:0}.panel p{margin:6px 0 10px}nav.tabs{grid-template-columns:repeat(5,1fr)}.tap{cursor:pointer}.day-row.tap:active,.tap:active{background:var(--pink-soft)}.balances{grid-template-columns:1fr 1fr;gap:10px;display:grid}.panel.stat{flex-direction:column;gap:2px;display:flex}.panel.stat strong{color:var(--pink);font-size:32px;line-height:1.1}.form{flex-direction:column;gap:10px;display:flex}.form label,.panel label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.req{justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.panel.req{padding:10px 12px}.req-right{align-items:center;gap:6px;display:flex}.pill.bad{color:#b3261e;background:#fde2e0}.market{margin-bottom:8px}.offer{justify-content:space-between;align-items:center;gap:10px;display:flex}.offer.swap{border-color:var(--pink);flex-direction:column;align-items:stretch}.offer p{margin:0}.row-buttons{gap:8px;display:flex}.row-buttons button{flex:1;margin:0}.sheet-bg{z-index:10;background:#14050c73;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-height:85vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-direction:column;gap:10px;display:flex;overflow:auto}.sheet h2{margin:0;font-size:17px}.pick-list{flex-direction:column;gap:6px;max-height:45vh;display:flex;overflow:auto}button.pick{text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px}.tasks{padding:12px}.tasks-head{justify-content:space-between;align-items:center;display:flex}.tasks-head h2{margin:0}.progress{background:var(--line);border-radius:999px;height:6px;margin:8px 0 10px;overflow:hidden}.progress span{background:var(--green);height:100%;display:block}h3.sec{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:12px 0 4px;font-size:13px}.task{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.task:last-child{border-bottom:none}.task button.check{border:2px solid var(--line);background:var(--card);border-radius:10px;flex:0 0 34px;height:34px;font-size:17px}.task.done button.check{background:var(--green);border-color:var(--green);color:#fff}.task.critical button.check{border-color:#d33}.task.missed{opacity:.85}.task-body{flex-direction:column;flex:1;gap:2px;display:flex}.task.done .task-title{color:var(--muted);text-decoration:line-through}.crit{color:#d33}.warn{color:var(--warn)}.info{white-space:pre-line;background:var(--bg);border-radius:8px;margin:4px 0 0;padding:8px;font-size:14px}.pay{cursor:pointer}.pay-head{justify-content:space-between;align-items:center;display:flex}.pay table.hours{margin-top:8px}
