:root{--bg:#f6f7f5;--ink:#233b37;--muted:#7c8885;--line:#e6eae6;--green:#214e43;--mint:#e8f1e9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Tahoma','Arial',sans-serif;font-size:14px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{outline-offset:3px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 14px;border-radius:9px;white-space:nowrap;transition:.15s}button:hover{background:#f0f5ee;border-color:#bbcbc0}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}input,select{background:white;border:1px solid #dce3dd;border-radius:8px;padding:10px 12px;color:var(--ink);max-width:100%}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;font-weight:600}h2{font-size:36px;line-height:1.5;letter-spacing:-1px}h3{font-size:17px;font-weight:600}small{display:block;font-size:11px;color:var(--muted)}.shell{display:flex;min-height:100vh}aside{width:238px;background:#fff;border-right:1px solid var(--line);position:fixed;top:0;bottom:0;padding:29px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:700;letter-spacing:-.8px}.brand small{font-size:9px;letter-spacing:1.2px;font-weight:500}.brand-icon{display:grid;place-items:center;position:relative;width:42px;height:42px;border-radius:12px;background:var(--green);color:#e1f1c8;font-size:26px}.brand-icon>span{position:absolute;right:4px;top:0;font-size:17px}.workspace-label{font-size:9px;color:#a0aaa5;letter-spacing:1.5px;margin:42px 10px 12px}.workspace{font-size:12px;border:1px solid var(--line);border-radius:9px;padding:12px 10px}.workspace small{margin:4px 0 0 14px;font-size:9px}.dot,.live-dot{display:inline-block;width:6px;height:6px;background:#7cab76;border-radius:100%;margin-right:7px}nav{display:flex;flex-direction:column;gap:5px;margin-top:26px}nav button{justify-content:flex-start;border:0;background:transparent;color:#76817b;font-size:13px;padding:12px 14px;gap:12px}nav button.active{color:var(--green);background:#eaf1e8;font-weight:600}nav button.active svg{stroke-width:2.3}.nav-count{margin-left:auto;font-size:10px;border-radius:5px;background:#e0e9db;padding:0 5px}.side-bottom{margin-top:auto;padding-top:30px}.side-note{font-size:11px;padding:15px 10px}.side-note small{font-size:10px;margin-top:4px}.profile{display:flex;gap:11px;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.profile small{max-width:130px;overflow:hidden;text-overflow:ellipsis}.avatar{width:33px;height:33px;background:#e4ebdf;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#546d55;flex-shrink:0}.av1{background:#e5eaf2;color:#697a9a}.av2{background:#eee6e2;color:#97756b}.av3{background:#ece8ef;color:#85768f}main{margin-left:238px;width:calc(100% - 238px)}header{height:73px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.65);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:11px;color:#7c8882}.breadcrumb span{margin:0 15px;color:#b7bfb9}.header-right{display:flex;align-items:center;font-size:11px;color:#7b8880;gap:7px}.header-right button{padding:6px;border:0;background:transparent}.content{max-width:1660px;margin:auto;padding:32px 38px 16px}.title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:15px}.eyebrow{font-size:9px;letter-spacing:1.6px;color:#8e9a91;margin-bottom:8px}.title-row p{font-size:12px;color:var(--muted);margin-top:5px}.month-picker{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:3px}.month-picker input{border:0;background:transparent;font-size:12px;width:159px}.month-picker button{border:0;padding:8px}.hero{background:#e8eee2;border:1px solid #e0e7d9;border-radius:15px;padding:32px 40px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative;gap:25px}.hero-tag{font-size:10px;border:1px solid #cbd8c2;border-radius:20px;padding:5px 12px;display:inline-block;margin-bottom:15px;color:#61725d}.hero h2{font-weight:500}.hero h2 span{color:#6f8264}.hero p{color:#7c8973;font-size:12px;margin:12px 0 20px}.hero button{background:var(--green);color:#f7fff0;border-color:var(--green);font-size:12px}.hero-visual{width:310px;flex-shrink:0;border:1px solid #fff;background:#f8faf4;box-shadow:0 15px 40px #526a4920;border-radius:13px;padding:19px;transform:rotate(-3deg);margin-right:22px}.mini-top{display:flex;align-items:center;gap:9px;font-size:11px;border-bottom:1px solid #e5e9de;padding-bottom:13px}.mini-badge{font-size:8px;background:#e5eddd;margin-left:auto;padding:3px 7px;border-radius:5px}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:13px}.mini-grid>div{height:35px;text-align:center;font-size:9px;border-radius:5px;color:#8e9989;position:relative;padding-top:3px}.mini-grid>div.marked{background:#d5e3c6;color:#465d3c}.mini-line{height:4px;width:20px;border-radius:3px;background:#c1d5b3;display:block;margin:auto;margin-top:5px}.mini-line.l1{background:#dfc7ae}.mini-line.l2{background:#c4cedc}.mini-foot{font-size:8px;color:#8e9b85;border-top:1px solid #e3e8dc;margin-top:10px;padding-top:9px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:23px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#77857d}.stat-top>span{background:#f1f5ed;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#7f9277}.stat-top svg{width:16px;height:16px}.stat-value{font-size:29px;line-height:1.4;margin:12px 0 8px;font-weight:500;letter-spacing:-1px}.stat-value small{display:inline;margin-left:8px;font-size:11px;font-weight:400}.muted{color:var(--muted);font-size:11px}.two-col{display:grid;grid-template-columns:1.12fr 1fr;gap:20px}.card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.step{width:100%;display:flex;justify-content:flex-start;border:0;border-top:1px solid #f0f2ef;border-radius:0;padding:15px 0;font-size:12px}.step>span{font-size:10px;color:#8d9e83;border-radius:7px;background:#f0f4eb;width:27px;height:27px;display:grid;place-items:center;margin-right:5px}.step svg{margin-left:auto;color:#9ba792}.rules p{display:flex;justify-content:space-between;font-size:11px;padding:12px 0;border-bottom:1px solid #eff1ed;gap:10px}.rules p span{color:#849080}.rules b{font-weight:500}.soft-note{padding:12px 14px;background:#f4f6f0;color:#839177;font-size:11px;border-radius:8px;margin-top:15px}.pill{display:inline-flex;align-items:center;border:1px solid #e3e8dd;background:#f3f5ef;border-radius:6px;font-size:10px;padding:3px 8px;color:#78866d}.pill.green{background:#e8f5ed;color:#397251}.toolbar,.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.tabs{display:flex;padding:4px;background:#eaece7;border-radius:10px;gap:3px}.tabs button{font-size:12px;border:0;background:transparent;color:#84907d}.tabs .selected{background:#fff;box-shadow:0 2px 3px #00000006;color:#304e40}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button,.table-toolbar button{font-size:11px}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#2e6152;color:#fff}.table-toolbar input{font-size:11px;width:200px}.table-toolbar select{font-size:11px}.table-toolbar .muted{margin-left:auto}.table-card{padding:0;overflow:hidden}.table-scroll{overflow:auto;width:100%;max-height:70vh}table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:12px;text-align:left}th{font-weight:500;color:#7a887f;background:#fafbf8;padding:14px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px;border-bottom:1px solid #eef0ec}thead th{position:sticky;top:0;z-index:2}.roster{text-align:center;font-size:11px}.roster th{min-width:58px;height:65px;padding:8px 3px;border-right:1px solid #e8ece5}.roster th small{margin-bottom:3px;font-size:9px}.roster td{height:80px;padding:4px;border-right:1px solid #eef0eb;vertical-align:middle}.roster .name-col{min-width:190px;position:sticky;left:0;background:#fff;z-index:3;text-align:left;padding:12px 16px;border-right:1px solid #dee5da}.roster thead .name-col{z-index:4;background:#fafbf8}.person-name{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:11px}.person-name small{font-size:9px;margin-top:3px}.holiday{background:#f2f5ee!important}.cell{display:flex;flex-direction:column;border:0;border-radius:5px;background:transparent;min-width:48px;width:100%;min-height:58px;padding:2px;gap:3px}.cell>span{display:block}.cell-empty{color:#d4dbd0;font-size:12px}.cell:hover{background:#e8eee0}.shift{display:inline-flex;gap:3px;align-items:center;font-size:10px;font-weight:500;padding:3px 5px;background:#e6efe4;color:#62805c;border-radius:4px;white-space:nowrap}.t1{background:#e7ecf5;color:#637da6}.t2{background:#eee9f4;color:#8a73a5}.t3{background:#f4e6df;color:#b2856d}.t4{background:#f6edcf;color:#b59947}.t5{background:#dceeed;color:#649a99}.off-badge{font-size:9px;background:#f7dfdf;color:#b46f6f;padding:2px 5px;border-radius:4px}.total{font-weight:600;color:#315845;background:#edf3e7}.legend{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:10px}.legend .muted{margin-left:auto}.empty{padding:55px 25px;text-align:center;color:#92a08b}.empty>svg{margin-bottom:17px;stroke-width:1.1}.empty h3{color:#54674b}.empty p{font-size:12px;max-width:470px;margin:10px auto 20px}.empty button{font-size:12px}.list-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #eef1eb;font-size:12px}.list-row>div:first-child{flex:1}.list-row button{font-size:11px;padding:6px 10px}.building-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.building-card{display:flex;flex-direction:column;align-items:flex-start;padding:20px;white-space:normal;gap:4px;text-align:left}.building-card svg{color:#8fa283;margin-bottom:8px}.building-card span{font-size:11px;color:#8b9584}.chips{display:flex;gap:9px;flex-wrap:wrap}.chips button{font-size:11px}.alert{display:flex;align-items:center;gap:9px;border-radius:8px;padding:12px 16px;font-size:12px;margin-bottom:16px}.alert.error{background:#fff0ee;color:#a65044;border:1px solid #f5d9d2}.alert.success{background:#e9f2e4;color:#537744}.alert button{margin-left:auto;padding:3px;background:none;border:0}.alert a{text-decoration:underline}.saving{position:fixed;bottom:20px;right:20px;z-index:90;background:#294c40;color:#fff;display:flex;gap:9px;align-items:center;padding:12px 20px;border-radius:30px;box-shadow:0 5px 25px #152a2020;font-size:12px}.saving svg{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{margin-top:28px;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0 0;color:#a0aaa0;font-size:10px}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#1a302d66;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}.modal{background:#fff;max-width:510px;width:100%;max-height:90vh;overflow:auto;border-radius:15px;padding:26px;box-shadow:0 20px 90px #0002}.modal.wide{max-width:780px}.modal form>label{display:block;margin:14px 0 7px;font-size:12px}.modal input:not([type=checkbox]),.modal select{width:100%;margin-top:5px}.modal p{font-size:12px;margin-bottom:16px}.checkbox{display:flex!important;align-items:center;gap:8px;font-size:12px}.checkbox input{accent-color:var(--green);width:15px;height:15px}.full{width:100%;margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.form-grid label{font-size:12px}.check-list{max-height:55vh;overflow:auto}.check-list p{border-bottom:1px solid #eee;padding:9px;margin:0;font-size:11px}.issue{color:#b27153}.modal .section-head>button{border:0;padding:5px}.modal .chips{margin-top:10px}.modal .list-row{margin-bottom:8px}
@media(min-width:1550px){.hero{padding:40px 55px}.hero-visual{margin-right:70px}}@media(max-width:1100px){aside{width:200px;padding:24px 14px}main{margin-left:200px;width:calc(100% - 200px)}.content{padding:25px}.brand{font-size:22px}.hero{padding:25px}.hero-visual{width:250px;margin:0}.stats{gap:10px}.stat{padding:15px}.stat-value{font-size:24px}.two-col{gap:12px}.card{padding:20px}.table-card{padding:0}.building-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){aside{width:70px;padding:20px 10px}.brand>span:not(.brand-icon),.workspace-label,.workspace,.side-bottom,nav button .nav-count{display:none}.brand{justify-content:center}.brand-icon{width:38px;height:38px}nav button{font-size:0;gap:0;padding:14px;justify-content:center}nav button svg{flex-shrink:0}main{margin-left:70px;width:calc(100% - 70px)}header{padding:0 20px;height:58px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 8px}.content{padding:22px 18px}.title-row{align-items:flex-start;flex-wrap:wrap}.hero h2{font-size:30px}.hero-visual{width:210px}.hero{gap:14px;padding:24px}.hero-tag{font-size:9px}.hero p{font-size:10px}.stats{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.table-toolbar .muted{margin-left:0}.legend .muted{margin-left:0}footer span{display:none}}@media(max-width:560px){.hero-visual{display:none}.hero{padding:25px}.hero h2{font-size:31px}.title-row h1{font-size:26px}.eyebrow{font-size:8px}.month-picker input{width:147px}.stat-value{font-size:23px}.section-head{flex-wrap:wrap}.toolbar .actions{width:100%}.toolbar .actions button{flex:1}.tabs{width:100%}.tabs button{flex:1;font-size:11px}.table-toolbar input{width:150px}.roster .name-col{min-width:132px;padding:8px}.roster .name-col .avatar{display:none}.building-grid{grid-template-columns:1fr}.modal{padding:20px}.profile{display:none}.breadcrumb{font-size:9px}.header-right{font-size:9px}.content{padding:20px 13px}.card{padding:18px}.table-card{padding:0}.stat{padding:13px}.stat-top{font-size:10px}.stat .muted{font-size:9px}}
@media print{aside,header,.title-row,.toolbar,.table-toolbar,.legend,footer,.modal-backdrop,.saving,.alert{display:none!important}main{margin:0;width:100%}.content{padding:0}.card{border:0;padding:0}.table-scroll{max-height:none;overflow:visible}.roster .name-col{position:static;min-width:100px}.roster th{min-width:20px;font-size:8px}.roster td{padding:1px;font-size:7px;height:42px}.shift{font-size:7px;padding:1px}.cell{min-width:20px;min-height:35px}.avatar{display:none}.person-name{font-size:8px}body{background:white}@page{size:A3 landscape;margin:8mm}}
.roster-visibility{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer}
.roster-visibility input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#276153;flex:none}
.roster-visibility input:disabled{cursor:wait;opacity:.55}
.v2-grid .v2-shift{border-left:3px solid var(--station-color,#55795c)}
.v2-grid thead tr:nth-child(2) .v2-name{white-space:normal;font-size:9px;padding:3px 6px;line-height:1.2}
.v2-grid .v2-day{white-space:normal;overflow-wrap:anywhere;line-height:1.2}

.v2-grid .v2-shift{touch-action:none;user-select:none}

@media(max-width:650px){.v2-top{flex-wrap:wrap}.v2-top .v2-actions input[type=month]{width:150px;font-size:11px;padding:6px}}

.v2-planner{background:#f6f7f5;color:#233b37;padding:16px;min-width:0}.v2-full{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;overflow:auto}.v2-top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-shrink:0}.v2-top b{font-size:21px}.v2-actions,.v2-tools,.v2-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v2-tabs{flex-direction:row;margin:12px 0;flex-shrink:0}.v2-tabs button.selected{background:#214e43;color:white}.v2-tools{margin:7px 0;font-size:12px;flex-shrink:0}.v2-tools label{display:flex;align-items:center;gap:5px}.v2-tools input[type=number]{width:120px}.v2-tools input[type=checkbox],.v2-rule input[type=checkbox]{width:17px;height:17px}.v2-tools select,.v2-tools input{padding:6px;max-width:240px}.v2-status{font-size:12px;min-height:24px;color:#315845}.v2-warning{font-size:11px;background:#fff3d9;border:1px solid #e9cf8e;padding:7px;margin:4px 0}.v2-grid-scroll{overflow:auto;min-height:260px;flex:1;border:1px solid #d5ded7;background:white;isolation:isolate}.v2-grid{width:max-content;min-width:100%;text-align:center}.v2-grid th,.v2-grid td{border-right:1px solid #e2e8e1;border-bottom:1px solid #e2e8e1;padding:3px;min-width:82px;max-width:130px;height:72px;vertical-align:top}.v2-grid thead th{position:sticky;top:0;height:42px;z-index:3;background:#f8faf6;color:#345445;font-weight:600}.v2-grid thead tr:nth-child(2) th{top:42px;height:31px;font-size:10px;vertical-align:middle}.v2-grid .v2-name{position:sticky;left:0;min-width:180px;max-width:180px;text-align:left;padding:8px;background:white;z-index:2}.v2-grid thead .v2-name{z-index:5;background:#eef3ed}.v2-grid .v2-name small{font-size:9px;max-width:170px;white-space:normal}.v2-cell{padding:0 6px;display:block;border:0;color:#889d86;font-size:11px;min-height:20px;margin:0 auto;background:transparent}.v2-shift{display:block;padding:3px 5px;font-size:inherit;margin:2px auto;border:1px solid transparent;border-radius:4px;background:#e5eee2;cursor:grab;max-width:100%;white-space:normal;line-height:1.4}.v2-t1{background:#e1eaf8;color:#385987}.v2-t2{background:#ece2f6;color:#674884}.v2-t3{background:#ffe4ce;color:#8e5d2b}.v2-t4{background:#fff1b9;color:#746423}.v2-t5{background:#d9f0ed;color:#26716b}.v2-conflict{border:2px solid #bf3b36!important}.v2-weekend{background:#f1f6ec!important}.v2-disabled{background:#e9ece8;color:#8d978d}.v2-day.COMPLETE{background:#dbefde!important;color:#246537}.v2-day.MISSING{background:#fff3d5!important;color:#805e17}.v2-day.CONFLICT{background:#fbe1df!important;color:#a32e28}.v2-day.OVERSTAFFED{background:#e5e6fa!important;color:#52488c}.v2-off{background:#ffeded;color:#a84646}.v2-report{overflow:auto;background:#fff;padding:12px;max-height:72vh}.v2-report table{min-width:800px}.v2-report h3{margin:14px 0}.v2-panel{background:white;padding:16px;border:1px solid #dce3dd;overflow:auto}.v2-panel h3{margin:12px 0}.v2-panel p{font-size:12px;margin:7px 0}.v2-rule{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border-bottom:1px solid #e8ece8;font-size:12px}.v2-rule label{display:flex;align-items:center;gap:6px;overflow-wrap:anywhere}.v2-rule input[type=number]{width:100px}.v2-conflicts{margin-top:9px;padding:9px;border:1px solid #e5d8c2;max-height:190px;overflow:auto;font-size:11px;flex-shrink:0}.v2-conflicts p{padding:5px}.v2-edit-backdrop{position:fixed;inset:0;background:#163d3866;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.v2-editor{background:white;padding:24px;border-radius:12px;max-width:480px;width:100%}.v2-editor label{display:block;margin:12px 0}.v2-editor select{display:block;width:100%;margin-top:4px}.v2-message{padding:30px;background:white;margin-top:20px}.v2-message p{margin:15px 0}
@media(max-width:650px){.v2-planner{padding:8px}.v2-top b{font-size:16px}.v2-top small{font-size:9px}.v2-tabs{flex-wrap:nowrap;overflow:auto;min-height:42px}.v2-tabs button{font-size:11px;padding:6px 10px}.v2-tools{font-size:10px;gap:5px}.v2-tools button{font-size:11px;padding:6px 9px}.v2-tools input,.v2-tools select{font-size:11px;max-width:170px}.v2-tools input[type=number]{width:100px}.v2-grid .v2-name{min-width:116px;max-width:116px;font-size:10px}.v2-grid .v2-name small{max-width:110px;font-size:8px}.v2-grid th,.v2-grid td{min-width:72px}.v2-rule{flex-wrap:wrap}.v2-actions button{padding:6px;font-size:10px}.v2-warning{font-size:10px}.v2-report{padding:7px}}
@media print{.v2-full{position:static;display:block;overflow:visible}.v2-top,.v2-tabs,.v2-tools,.v2-status,.v2-warning,.v2-conflicts,.v2-edit-backdrop{display:none!important}.v2-grid-scroll{overflow:visible;border:0}.v2-grid{font-size:7px!important;min-width:100%;width:100%}.v2-grid th,.v2-grid td{min-width:16px;height:35px;padding:1px}.v2-grid .v2-name{position:static;min-width:90px;max-width:90px}.v2-grid thead th{position:static}.v2-shift{font-size:6px;padding:1px}.v2-cell{display:none}}
@media screen{.v2-grid th,.v2-grid td{min-width:calc(82px * var(--v2-scale,1));height:calc(72px * var(--v2-scale,1))}.v2-grid thead th{height:54px;line-height:1.3}.v2-grid thead tr:nth-child(2) th{top:54px;height:31px}.v2-grid .v2-name{min-width:calc(180px * var(--v2-scale,1));max-width:calc(180px * var(--v2-scale,1))}}
@media screen and (max-width:650px){.v2-grid th,.v2-grid td{min-width:calc(72px * var(--v2-scale,1))}.v2-grid .v2-name{min-width:116px;max-width:116px}}
/* Shared staff display order: independent of assignments and solver input. */
.roster-order-backdrop{position:fixed;inset:0;background:#12223b99;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}
.roster-order-dialog{background:white;color:#172b4d;width:min(640px,100%);max-height:90dvh;display:flex;flex-direction:column;border-radius:14px;padding:20px;box-shadow:0 20px 80px #0005;overflow:hidden;font-size:14px}
.roster-order-dialog h3{margin:0 0 8px}.roster-order-dialog p{margin:6px 0 12px}
.roster-order-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.roster-order-tools small{margin-right:auto}
.roster-order-list{padding:0;margin:12px 0;overflow:auto;overscroll-behavior:contain;list-style:none;min-height:0}
.roster-order-list li{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid #e5eaf2;min-height:54px}
.roster-order-name{flex:1;min-width:0;overflow-wrap:anywhere}.roster-order-name small{display:block;color:#61718b}
.roster-order-list button{min-width:40px;min-height:40px;flex-shrink:0}.roster-order-handle{touch-action:none;cursor:grab}
@media(max-width:600px){.roster-order-backdrop{padding:8px}.roster-order-dialog{padding:14px;max-height:95dvh}.roster-order-list li{gap:5px}.roster-order-name b{font-size:13px}}
@media print{.roster-order-backdrop{display:none!important}}

.header-right{flex-wrap:wrap;gap:12px}.header-right a{font-size:11px;color:#2563eb}