:root{--orange: #ff5a00;--orange-dark: #e14e00;--orange-tint: #fff1e9;--ink: #16202e;--ink-2: #5a6675;--green: #1e8e4e;--green-bg: #e7f4ec;--red: #c62a2f;--surface: #ffffff;--page: #eceae4;--hairline: #e2e0d8;--font-head: "Archivo", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--page);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}button{font-family:inherit}.shell{max-width:720px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;background:var(--ink);color:#fff;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;display:flex;align-items:center;gap:12px}.mark{width:34px;height:34px;border-radius:9px;background:var(--orange);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:800;font-size:18px;flex:none}.topbarText{margin-right:auto;min-width:0}.topbarTitle{font-family:var(--font-head);font-weight:800;font-size:16px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbarSub{font-family:var(--font-mono);font-size:11px;letter-spacing:.5px;color:#9aa4b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iconBtn{min-width:44px;height:44px;border-radius:11px;border:none;background:#ffffff1f;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 12px;flex:none}.iconBtn[aria-pressed=true]{background:var(--orange)}.tabs{display:flex;gap:6px;padding:12px 16px 0;flex-wrap:wrap}.tab{border:none;background:transparent;border-radius:10px;padding:10px 14px;font-weight:700;font-size:14px;color:var(--ink-2);cursor:pointer;min-height:44px}.tab[aria-selected=true]{background:var(--ink);color:#fff}.main{flex:1;padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:14px}.swipeTrack{position:relative;border-radius:18px;overflow:hidden;background:var(--green);touch-action:pan-y}.swipeHint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding-left:24px;color:#fff;font-family:var(--font-head);font-weight:800;font-size:17px;letter-spacing:.3px;pointer-events:none}.reqCard{position:relative;background:var(--surface);border:2px solid var(--hairline);border-radius:18px;padding:16px;display:flex;align-items:center;gap:14px;cursor:grab;-webkit-user-select:none;user-select:none}.reqCard.dragging{cursor:grabbing}.reqCard.settling{transition:transform .22s cubic-bezier(.2,.8,.3,1)}.termBadge{width:58px;height:58px;border-radius:14px;background:var(--ink);color:#fff;font-family:var(--font-head);font-weight:800;font-size:26px;display:flex;align-items:center;justify-content:center;flex:none}.reqBody{flex:1;min-width:0}.reqName{font-family:var(--font-head);font-weight:800;font-size:22px;line-height:1.15;overflow:hidden;text-overflow:ellipsis}.reqMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.rez{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--ink-2);letter-spacing:.5px}.pax{display:inline-flex;align-items:center;background:var(--orange-tint);color:var(--orange-dark);font-weight:700;font-size:14px;border-radius:999px;padding:4px 12px}.waited{font-size:13px;color:var(--ink-2);font-weight:600}.waited.urgent{color:var(--red);font-weight:700}.doneBtn{min-width:92px;min-height:58px;border-radius:14px;border:none;background:var(--green);color:#fff;font-family:var(--font-head);font-weight:800;font-size:16px;cursor:pointer;flex:none}.doneBtn:disabled{opacity:.5;cursor:default}.locTag{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--ink-2);background:#f1f0eb;border-radius:5px;padding:2px 6px}.empty{text-align:center;padding:56px 20px;color:var(--ink-2)}.emptyTitle{font-family:var(--font-head);font-weight:800;font-size:20px;color:var(--ink);margin-bottom:6px}.banner{border-radius:12px;padding:12px 14px;font-weight:600;font-size:14px}.banner.err{background:#fdecec;color:var(--red)}.banner.ok{background:var(--green-bg);color:var(--green)}.card{background:var(--surface);border:2px solid var(--hairline);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:14px}.cardTitle{font-family:var(--font-head);font-weight:800;font-size:18px;margin:0}.field{display:flex;flex-direction:column;gap:7px}.label{font-weight:700;font-size:12.5px;letter-spacing:1.1px;text-transform:uppercase;color:var(--ink-2)}.input,.select{min-height:52px;border-radius:13px;border:2px solid #e7e5df;padding:0 14px;font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--ink);background:#fbfbf9;width:100%}textarea.input{padding:12px 14px;min-height:76px;resize:vertical;font-weight:500;line-height:1.45}.input:focus,.select:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #ff5a0029}.btn{min-height:54px;border-radius:14px;border:none;background:var(--orange);color:#fff;font-family:var(--font-head);font-weight:800;font-size:16px;cursor:pointer;width:100%;padding:0 18px}.btn.secondary{background:#f1f0eb;color:var(--ink)}.btn.slim{min-height:46px;font-size:14px;width:auto}.btn:disabled{opacity:.55;cursor:default}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.muted{color:var(--ink-2);font-size:13.5px;line-height:1.45;margin:0}.list{display:flex;flex-direction:column;gap:10px}.listRow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--hairline)}.listRow:last-child{border-bottom:none}.grow{flex:1;min-width:0}.strong{font-weight:700}.roleTag{font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;border-radius:5px;padding:3px 7px;background:#f1f0eb;color:var(--ink-2)}.roleTag.admin{background:var(--ink);color:#fff}.roleTag.manager{background:var(--orange-tint);color:var(--orange-dark)}:where(button,input,select,textarea,a):focus-visible{outline:3px solid rgba(255,90,0,.6);outline-offset:2px}.visuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loginWrap{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.loginCard{width:100%;max-width:400px}
