
:root{--bg:#07100b;--panel:#101b14;--panel2:#0a150e;--line:#24412f;--text:#f1f7f3;--muted:#87a08f;--green:#94ef70;--mint:#48dba4;--gold:#ffd166;--purple:#d69cff;--blue:#69ccff}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 12% 0,#193a2555,transparent 30rem),linear-gradient(#060b08,#0a120d);color:var(--text);font-family:Inter,system-ui,Arial,sans-serif}button,input,select{font:inherit}
.hud{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 56px minmax(180px,420px) auto;gap:14px;align-items:center;padding:9px 16px;background:#050a07ef;border-bottom:1px solid #1a3022;backdrop-filter:blur(12px)}.brand{display:flex;gap:9px;align-items:center}.brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--mint));color:#061009;font-weight:1000}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.08em}.brand small{font-size:.54rem;color:var(--green);letter-spacing:.14em}.day{text-align:center}.day small,.wallet small{display:block;color:var(--muted);font-size:.48rem}.day strong{font-size:1.3rem}.level-row{display:flex;justify-content:space-between;color:var(--muted);font-size:.56rem}.xp-track{height:6px;margin-top:5px;border-radius:999px;background:#142219;overflow:hidden}.xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--mint),var(--green))}.wallet{text-align:right}.wallet strong{display:block;color:var(--gold);font-size:1.13rem}
.tabs{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:11px 14px}.tabs button{padding:11px;border:1px solid #263f2e;border-radius:12px;background:#0d1711;color:#91a799;font-weight:900;cursor:pointer}.tabs button.active{background:linear-gradient(135deg,#8ce569,#4ad5a1);color:#06100a;border-color:transparent}
main{max-width:1120px;margin:auto;padding:0 14px 40px}.view{display:none}.view.active{display:block}.hero{min-height:170px;padding:22px;border:1px solid #294b35;border-radius:21px;display:flex;justify-content:space-between;align-items:flex-end;background:linear-gradient(120deg,#132b1b,#0d1a13)}.shop-hero{background:linear-gradient(120deg,#10252b,#0d1b20);border-color:#2d4d56}.book-hero{background:linear-gradient(120deg,#241a2e,#15101d);border-color:#4b395c}.hero small{color:var(--green);font-size:.54rem;letter-spacing:.17em;font-weight:900}.hero h1{font-size:clamp(2.6rem,6vw,4.5rem);line-height:.9;margin:6px 0}.hero p{margin:0;color:#9eb2a5;max-width:680px}.hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.hero-stats div{min-width:100px;padding:10px;border:1px solid #284733;border-radius:11px;background:#08130daa}.hero-stats span,.hero-stats b{display:block}.hero-stats span{font-size:.48rem;color:var(--muted)}.hero-stats b{font-size:.88rem;margin-top:2px}
.objective,.market{display:grid;grid-template-columns:1fr 180px auto;gap:10px;align-items:center;margin:9px 0;padding:10px 12px;border:1px solid #294b35;border-radius:12px;background:#0d1911}.objective small,.market small{display:block;color:#6f8b79;font-size:.48rem}.objective b,.market b{font-size:.7rem}.objective-track{height:7px;border-radius:999px;background:#14241a;overflow:hidden}.objective-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--mint),var(--green))}.objective>span,.market>span{color:var(--gold);font-size:.64rem;font-weight:900}
.panel{margin-top:10px;padding:14px;border:1px solid #203a29;border-radius:16px;background:linear-gradient(#101c14,#0b1610)}.heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.heading small,.heading h2{display:block;margin:0}.heading small{color:#6f8b79;font-size:.5rem;letter-spacing:.14em;font-weight:900}.heading h2{font-size:1.05rem;margin-top:2px}.heading>span{color:var(--muted);font-size:.6rem}.filters{display:flex;gap:6px}.filters input{width:190px}.status{padding:4px 8px;border:1px solid #396b49;border-radius:999px;color:#a8ffb9!important}
input,select{padding:9px 10px;border:1px solid #2a4935;border-radius:9px;background:#08120c;color:#f1f7f3;outline:none}input:focus,select:focus{border-color:#5ca974}
.strain-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:7px}.strain-card{padding:10px;border:1px solid #203a29;border-radius:11px;background:#09130d}.strain-head{display:flex;gap:8px;align-items:center}.initial{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#173322;color:#b6ffc6;font-weight:900;font-size:.7rem}.strain-card h3{margin:0;font-size:.75rem}.badge{display:inline-block;margin-top:3px;padding:2px 5px;border-radius:999px;font-size:.46rem;font-weight:900;text-transform:uppercase;background:#22372c;color:#acc0b2}.badge.cross{background:#1d3d29;color:#b7e8c5}.badge.mutation{background:#432d55;color:#ead4ff}.badge.ultra{background:#1d3e55;color:#c9ebff}.badge.mega{background:#66531c;color:#ffeca2}.traits{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin-top:8px}.trait{padding:4px 2px;border-radius:6px;background:#06100a;text-align:center}.trait span,.trait b{display:block}.trait span{font-size:.38rem;color:#617b6a;text-transform:uppercase}.trait b{font-size:.55rem}.stockline{display:flex;justify-content:space-between;margin-top:7px;color:#7f9989;font-size:.58rem}.stockline b{color:var(--gold)}
.parent-grid{display:grid;grid-template-columns:1fr 34px 1fr;gap:8px;align-items:end}label{display:block;margin-bottom:4px;color:var(--muted);font-size:.57rem}.multiply{height:38px;display:grid;place-items:center;color:var(--green);font-size:1.3rem}.info-box{margin-top:8px;padding:10px;border:1px solid #24412f;border-radius:10px;background:#08120c;color:#9bb0a2;font-size:.65rem;line-height:1.55}.info-box b{color:var(--gold)}.primary{width:100%;margin-top:8px;padding:11px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--green),var(--mint));color:#06100a;font-weight:1000;cursor:pointer}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.product-grid button{padding:12px;border:1px solid #294b35;border-radius:11px;background:#09130d;color:white;text-align:left;cursor:pointer}.product-grid button:disabled{opacity:.35;cursor:not-allowed}.product-grid span{display:block;font-size:1.45rem}.product-grid b,.product-grid small{display:block}.product-grid b{margin-top:5px}.product-grid small{margin-top:2px;color:var(--muted);font-size:.57rem}
.warehouse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:7px}.product{padding:10px;border:1px solid #213a2a;border-radius:11px;background:#09130d}.product-top{display:flex;justify-content:space-between;gap:7px}.product b{font-size:.69rem}.product small{display:block;margin-top:2px;color:var(--muted);font-size:.54rem}.price{color:var(--gold);font-size:.61rem;font-weight:900}.transfer{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:7px}.transfer button,.cashier button{padding:6px;border:1px solid #2d4d38;border-radius:7px;background:#13261a;color:#c6dbcd;font-size:.53rem;cursor:pointer}
.upgrade-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.upgrade{padding:10px;border:1px solid #203a29;border-radius:11px;background:#09130d}.upgrade h3{margin:0;font-size:.69rem}.upgrade p{min-height:35px;color:var(--muted);font-size:.55rem;line-height:1.4}.upgrade button{width:100%;padding:7px;border:1px solid #31523d;border-radius:8px;background:#14291c;color:#cee1d4;font-size:.54rem;cursor:pointer}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.shelf,.till{padding:10px;border:1px solid #213a2a;border-radius:11px;background:#09130d}.shelf-head,.till-head{display:flex;justify-content:space-between;align-items:center}.shelf h3,.till h3{margin:0;font-size:.71rem}.cap{color:var(--muted);font-size:.53rem}.specs{display:flex;gap:4px;margin:7px 0}.specs button{flex:1;padding:5px;border:1px solid #294936;border-radius:7px;background:#102016;color:#789383;font-size:.48rem;cursor:pointer}.specs button.active{background:#1b3a28;color:#b8ffc9;border-color:#477454}.shelf-items{display:grid;gap:4px;min-height:105px}.shelf-item{padding:7px;border-radius:8px;background:#0d1911}.shelf-item b,.shelf-item small{display:block}.shelf-item b{font-size:.6rem}.shelf-item small{font-size:.51rem;color:var(--muted)}.empty{min-height:86px;display:grid;place-items:center;border:1px dashed #294331;border-radius:8px;color:#516a58;font-size:.55rem}.cashier{padding:8px;border-radius:8px;background:#0d1911}.cashier b,.cashier small{display:block}.cashier b{font-size:.61rem}.cashier small{font-size:.5rem;color:var(--muted)}.cashier button{width:100%;margin-top:6px}.queue{display:grid;gap:4px;margin-top:6px}.customer{padding:7px;border-left:3px solid var(--blue);border-radius:7px;background:#0d1911;font-size:.55rem}.customer.next{border-left-color:var(--gold)}.serve{width:100%;margin-top:6px;padding:8px;border:0;border-radius:8px;background:linear-gradient(135deg,#57d5a5,#8af069);font-size:.58rem;font-weight:900;cursor:pointer}.serve:disabled{opacity:.35;cursor:not-allowed}
.customer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.customer-grid article{padding:10px;border:1px solid #213a2a;border-radius:11px;background:#09130d}.customer-grid span{font-size:1.2rem}.customer-grid b,.customer-grid small{display:block}.customer-grid b{margin-top:5px;font-size:.67rem}.customer-grid small{margin-top:2px;color:var(--muted);font-size:.52rem}.end-day{display:flex;justify-content:space-between;align-items:center;gap:18px}.end-day h2,.end-day p{margin:0}.end-day p{margin-top:4px;color:var(--muted);font-size:.61rem}.end-day .primary{width:auto;min-width:170px;margin:0}
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:7px}.book-card{padding:10px;border:1px solid #2a3d31;border-radius:11px;background:#0b130e}.book-card.locked{opacity:.32;filter:grayscale(1)}.book-card h3{margin:0;font-size:.69rem}.book-card small{color:var(--muted);font-size:.51rem}.lineage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:7px}.lineage{padding:10px;border:1px solid #2a3f32;border-radius:11px;background:#0b130e}.lineage h3{margin:0;font-size:.69rem}.lineage p{margin:5px 0;color:var(--muted);font-size:.52rem}
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#020503df}.modal.hidden{display:none}.modal-card{width:min(440px,100%);padding:24px;border:1px solid #416649;border-radius:18px;background:radial-gradient(circle at 50% 0,#1a3922,#0b150f 65%);text-align:center;box-shadow:0 30px 100px #000}.modal-card>small{color:var(--gold);letter-spacing:.16em;font-size:.56rem;font-weight:900}.mutation-emoji{margin:12px;font-size:3rem}.modal-card h2{margin:0;font-size:2rem}.modal-card p{color:var(--muted);font-size:.66rem}.modal-traits{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:12px 0}.modal-traits .trait{padding:7px 2px}.modal-card>b{display:block;color:var(--gold);font-size:1.15rem}.day-results{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:14px 0}.day-results div{padding:10px;border-radius:9px;background:#07100b}.day-results small,.day-results b{display:block}.day-results small{color:var(--muted);font-size:.48rem}.day-results b{font-size:.8rem}.toast{position:fixed;right:16px;bottom:16px;z-index:100;padding:10px 12px;border:1px solid #396348;border-radius:10px;background:#102218;color:#eef8f1;font-size:.62rem;opacity:0;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}
@media(max-width:820px){.hud{grid-template-columns:auto 48px 1fr auto}.hero-stats{display:none}.upgrade-grid,.customer-grid{grid-template-columns:repeat(2,1fr)}.three-grid{grid-template-columns:1fr}.heading{align-items:flex-start}.filters{flex-direction:column}.filters input{width:160px}}
@media(max-width:560px){.hud{grid-template-columns:auto 42px 1fr}.wallet{grid-column:1/-1;text-align:center;border-top:1px solid #15291c;padding-top:5px}.tabs span{display:none}.objective,.market{grid-template-columns:1fr auto}.objective-track{grid-column:1/-1;grid-row:2}.parent-grid{grid-template-columns:1fr}.multiply{height:auto}.product-grid,.upgrade-grid,.customer-grid{grid-template-columns:1fr}.strain-grid{grid-template-columns:1fr}.end-day{display:block}.end-day .primary{width:100%;margin-top:10px}.heading{display:block}.filters{margin-top:8px}.filters input{width:100%}}

.supplier-tools{display:flex;gap:7px;margin-bottom:9px}.supplier-tools input{flex:1}.secondary{padding:9px 11px;border:1px solid #31523d;border-radius:9px;background:#14291c;color:#d1e4d7;font-weight:800;cursor:pointer}.secondary:disabled{opacity:.35;cursor:not-allowed}.supplier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:7px}.supplier-card{padding:10px;border:1px solid #213a2a;border-radius:11px;background:#09130d}.supplier-card.low{border-color:#6a5630}.supplier-card.out{border-color:#7b3939}.supplier-top{display:flex;justify-content:space-between;gap:7px}.supplier-card h3{margin:0;font-size:.7rem}.supplier-card small{display:block;margin-top:3px;color:var(--muted);font-size:.52rem}.supplier-card button{width:100%;margin-top:8px;padding:7px;border:1px solid #31523d;border-radius:8px;background:#14291c;color:#d1e4d7;font-size:.55rem;font-weight:800;cursor:pointer}.stock-warning{color:var(--gold);font-weight:900}.out-warning{color:#ff9a9a;font-weight:900}.strain-card.low-stock{border-color:#6a5630}.strain-card.out-stock{border-color:#7b3939}
@media(max-width:560px){.supplier-tools{display:block}.supplier-tools .secondary{width:100%;margin-top:7px}.supplier-grid{grid-template-columns:1fr}}

.supplier-actions{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:8px}.supplier-actions button{margin-top:0}.delete-strain{border-color:#6b3434!important;background:#2a1414!important;color:#ffaaaa!important;white-space:nowrap}
@media(max-width:560px){.supplier-actions{grid-template-columns:1fr}.delete-strain{width:100%}}

.manager-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:7px;margin-bottom:10px}
.manager-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);gap:10px;align-items:start}
.strain-manager-panel .strain-grid{max-height:620px;overflow:auto;padding-right:2px}
.strain-card{cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.strain-card.selected{border-color:#67b57e;background:#102219;box-shadow:inset 0 0 0 1px #315e40}
.strain-card:hover{transform:translateY(-1px);border-color:#3d6749}
.strain-action-panel{position:sticky;top:82px;min-height:290px;padding:14px;border:1px solid #294834;border-radius:13px;background:linear-gradient(#0d1a12,#08120c)}
.action-empty{min-height:255px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted);gap:7px}.action-empty>div{font-size:2rem}.action-empty b{color:var(--text)}.action-empty small{max-width:240px;line-height:1.45}
.action-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #1f3728}.action-header .initial{width:42px;height:42px}.action-header h3{margin:0;font-size:1rem}.action-header small{display:block;color:var(--muted);font-size:.55rem;margin-top:3px}
.action-stars{margin:10px 0}.action-stock{display:flex;justify-content:space-between;gap:8px;padding:9px;border-radius:9px;background:#06100a;font-size:.62rem}.action-stock b{color:var(--gold)}
.action-group{margin-top:12px}.action-group>small{display:block;margin-bottom:6px;color:#6f8b79;font-size:.49rem;letter-spacing:.12em;font-weight:900}
.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.action-buttons button{min-height:42px;padding:8px;border:1px solid #31523d;border-radius:9px;background:#13261a;color:#d1e4d7;font-size:.58rem;font-weight:800;cursor:pointer}.action-buttons button.full{grid-column:1/-1}.action-buttons button.primary-action{background:linear-gradient(135deg,#2d6941,#23583a);border-color:#4d815d;color:#eaffef}.action-buttons button.danger-action{background:#2a1414;border-color:#693535;color:#ffaaaa}.action-buttons button:disabled{opacity:.35;cursor:not-allowed}
.production-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.production-summary div{padding:11px;border:1px solid #203a29;border-radius:10px;background:#09130d}.production-summary span{font-size:1.3rem;display:block}.production-summary b,.production-summary small{display:block}.production-summary b{font-size:.68rem;margin-top:5px}.production-summary small{font-size:.52rem;color:var(--muted);margin-top:2px}.bench-note{margin:9px 0 0;color:var(--muted);font-size:.58rem}
.quantity-card label{margin:12px 0 6px}.quantity-control{display:grid;grid-template-columns:46px 1fr 46px;gap:6px}.quantity-control button{border:1px solid #31523d;border-radius:9px;background:#14291c;color:white;font-size:1.2rem}.quantity-control input{text-align:center;font-size:1rem}.quantity-info{margin-top:9px;padding:9px;border:1px solid #24412f;border-radius:9px;background:#07100b;color:var(--muted);font-size:.62rem;line-height:1.5}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.modal-actions .primary{margin-top:0}.modal-actions .secondary{width:100%}
@media(max-width:820px){.manager-layout{grid-template-columns:1fr}.strain-action-panel{position:static}.manager-toolbar{grid-template-columns:1fr 140px}.manager-toolbar .secondary{grid-column:1/-1}.production-summary{grid-template-columns:1fr}}
@media(max-width:560px){.manager-toolbar{grid-template-columns:1fr}.manager-toolbar .secondary{grid-column:auto}.action-buttons{grid-template-columns:1fr}.action-buttons button.full{grid-column:auto}}

/* Clean manager v2 */
.manager-layout{display:block}
.strain-manager-panel .strain-grid{max-height:none;overflow:visible;padding-right:0}
.strain-card{cursor:default}
.strain-card:active{transform:scale(.995)}
.strain-action-panel{display:none!important}
.page-scroll-controls{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:45;display:grid;gap:8px}
.page-scroll-controls button{width:44px;height:44px;border:1px solid #31523d;border-radius:50%;background:#0d1a12e8;color:#dff4e6;font-size:1.2rem;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.25);backdrop-filter:blur(8px);cursor:pointer}
.page-scroll-controls button:hover{background:#173022}
.strain-modal-card{position:relative;width:min(560px,calc(100% - 24px));max-height:calc(100vh - 48px);overflow:auto;text-align:left;padding:20px}
.modal-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:1px solid #3b5746;border-radius:50%;background:#0b160f;color:#dceae0;font-size:1.25rem;cursor:pointer}
.strain-modal-card .action-header{padding-right:42px}
.strain-modal-card .action-buttons button{min-height:46px;font-size:.62rem}
.strain-modal-card .action-group{margin-top:14px}
.strain-modal-card .action-stock{font-size:.68rem}
.strain-modal-card .traits{grid-template-columns:repeat(5,1fr)}
@media(max-width:560px){
  .page-scroll-controls{right:8px}
  .page-scroll-controls button{width:40px;height:40px}
  .strain-modal-card{width:calc(100% - 16px);max-height:calc(100vh - 24px);padding:16px}
  .strain-modal-card .action-buttons{grid-template-columns:1fr}
}

/* Clean manager v3 */
.strain-scroll-wrap{position:relative;padding-right:58px}
.strain-manager-panel .strain-grid{
  max-height:560px;
  overflow-y:auto;
  overflow-x:hidden;
  scroll-behavior:smooth;
  padding-right:6px;
}
.strain-scroll-controls{
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:28px;
  z-index:5;
}
.strain-scroll-controls button{
  width:46px;
  height:46px;
  border:1px solid #31523d;
  border-radius:50%;
  background:#102018;
  color:#e3f3e8;
  font-size:1.25rem;
  font-weight:900;
  box-shadow:0 8px 20px rgba(0,0,0,.22);
  cursor:pointer;
}
.strain-scroll-controls button:active{transform:scale(.96)}
@media(max-width:560px){
  .strain-scroll-wrap{padding-right:52px}
  .strain-manager-panel .strain-grid{max-height:520px}
  .strain-scroll-controls{right:2px;gap:34px}
  .strain-scroll-controls button{width:44px;height:44px}
}

/* Clean manager v4 */
.strain-scroll-rail{
  position:absolute;
  right:6px;
  top:10px;
  bottom:10px;
  width:46px;
  border-left:1px solid #31523d;
  border-right:1px solid #31523d;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(16,32,24,.55),rgba(8,18,12,.3));
  pointer-events:none;
}
@media(max-width:560px){
  .strain-scroll-rail{right:2px;width:44px}
}

/* Clean manager v5: split strain-scroll vs page-scroll interaction */
.strain-scroll-wrap{
  position:relative;
  padding-right:58px;
}
.strain-manager-panel .strain-grid{
  max-height:560px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  scroll-behavior:smooth;
  padding-right:6px;
}
.strain-scroll-rail{
  pointer-events:auto;
  touch-action:none;
  cursor:ns-resize;
  user-select:none;
  -webkit-user-select:none;
}
@media(max-width:560px){
  .strain-scroll-wrap{padding-right:52px}
  .strain-manager-panel .strain-grid{max-height:520px}
}

/* Clean manager v6: full gutter is a page-scroll zone */
.strain-scroll-wrap{
  position:relative;
  padding-right:58px;
}
.strain-scroll-rail{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:58px;
  border-left:1px solid #31523d;
  border-right:1px solid #31523d;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(16,32,24,.46),rgba(8,18,12,.26));
  pointer-events:auto;
  touch-action:none;
  cursor:ns-resize;
  user-select:none;
  -webkit-user-select:none;
  z-index:8;
}
@media(max-width:560px){
  .strain-scroll-wrap{padding-right:52px}
  .strain-scroll-rail{width:52px}
}

/* Clean manager v7: sort control */
.manager-toolbar{
  grid-template-columns:minmax(0,1fr) 140px 180px auto;
}
@media(max-width:900px){
  .manager-toolbar{
    grid-template-columns:minmax(0,1fr) 140px 180px;
  }
  .manager-toolbar .secondary{
    grid-column:1/-1;
  }
}
@media(max-width:620px){
  .manager-toolbar{
    grid-template-columns:1fr;
  }
  .manager-toolbar .secondary{
    grid-column:auto;
  }
}

/* Clean manager v8: production order modal fit */
#quantityModal{
  align-items:center;
  justify-content:center;
  padding:12px;
  overflow:hidden;
}
#quantityModal .quantity-card{
  width:min(440px,100%);
  max-height:calc(100dvh - 24px);
  overflow-y:auto;
  margin:0;
  padding:16px;
  box-sizing:border-box;
}
#quantityModal .quantity-card .mutation-emoji{
  font-size:2rem;
  margin:4px 0;
}
#quantityModal .quantity-card h2{
  margin:4px 0 2px;
  font-size:1.15rem;
}
#quantityModal .quantity-card p{
  margin:0 0 8px;
}
#quantityModal .quantity-card label{
  margin:8px 0 5px;
}
#quantityModal .quantity-control{
  grid-template-columns:42px minmax(0,1fr) 42px;
}
#quantityModal .quantity-control button{
  min-height:42px;
}
#quantityModal .quantity-info{
  margin-top:7px;
  padding:8px;
}
#quantityModal .modal-actions{
  margin-top:8px;
  gap:6px;
}
#quantityModal .modal-actions button{
  min-height:42px;
}
@media(max-width:420px){
  #quantityModal{padding:8px}
  #quantityModal .quantity-card{
    max-height:calc(100dvh - 16px);
    padding:12px;
    border-radius:12px;
  }
  #quantityModal .quantity-card small{
    font-size:.48rem;
  }
  #quantityModal .quantity-card h2{
    font-size:1rem;
  }
  #quantityModal .quantity-info{
    font-size:.56rem;
    line-height:1.35;
  }
}

/* Clean manager v10: favourites */
.strain-card.favorite{border-color:#7a6a32}
.favorite-mark{color:#ffd76a;font-size:.78rem;margin-left:4px}
.favorite-action{background:#28230f!important;border-color:#6c5d24!important;color:#ffe28a!important}
.favorite-action.active{background:#5a4b13!important;border-color:#9a8330!important;color:#fff0a6!important}

.manager-actions{display:flex;gap:7px;flex-wrap:wrap}
.danger-toolbar{padding:9px 11px;border:1px solid #6b3434;border-radius:9px;background:#2a1414;color:#ffaaaa;font-weight:800;cursor:pointer}
.danger-toolbar:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:900px){.manager-toolbar .manager-actions{grid-column:1/-1}}
@media(max-width:620px){.manager-actions{display:grid;grid-template-columns:1fr}.manager-actions button{width:100%}}

/* V11 visibility fix */
.cleanup-action-row{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  margin:0 0 10px;
  padding:8px;
  border:1px solid #442828;
  border-radius:10px;
  background:#160d0d;
  box-sizing:border-box;
}
.cleanup-action-row .danger-toolbar{
  display:block;
  flex:0 0 auto;
  min-height:42px;
  opacity:1;
}
.cleanup-action-row .danger-toolbar:disabled{
  opacity:.58;
}
.cleanup-action-row small{
  color:#a98b8b;
  font-size:.54rem;
  line-height:1.35;
}
@media(max-width:620px){
  .cleanup-action-row{
    display:grid;
    grid-template-columns:1fr;
    gap:5px;
  }
  .cleanup-action-row .danger-toolbar{
    width:100%;
  }
}

/* V11 quick sell */
.strain-modal-card .action-group:nth-of-type(4) .action-buttons button{
  border-color:#574d2b;
  background:#211d10;
  color:#f4df91;
}

/* Fresh economy edition: stock worker */
.stock-worker-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid #294834;
  border-radius:12px;
  background:#09130d;
}
.stock-worker-card h3{margin:0 0 4px;font-size:.78rem}
.stock-worker-card p{margin:0;color:var(--muted);font-size:.56rem;line-height:1.45}
.stock-worker-card .worker-status{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px}
.stock-worker-card .worker-status span{padding:4px 7px;border:1px solid #31523d;border-radius:999px;font-size:.5rem;color:#b9cec0}
.stock-worker-card button{
  min-width:150px;
  min-height:42px;
  padding:9px 12px;
  border:1px solid #3d6749;
  border-radius:9px;
  background:#173022;
  color:#e5f5ea;
  font-weight:800;
  cursor:pointer;
}
.stock-worker-card button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:620px){
  .stock-worker-card{grid-template-columns:1fr}
  .stock-worker-card button{width:100%}
}

/* Lab worker cards */
.lab-worker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lab-worker-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:11px;border:1px solid #294834;border-radius:11px;background:#09130d;align-items:start}
.lab-worker-icon{font-size:1.5rem;line-height:1}
.lab-worker-card h3{margin:0;font-size:.7rem}
.lab-worker-card p{margin:4px 0 0;color:var(--muted);font-size:.53rem;line-height:1.4}
.lab-worker-card small{display:block;margin-top:4px;color:#789181;font-size:.48rem}
.lab-worker-card button{grid-column:1/-1;min-height:40px;border:1px solid #31523d;border-radius:9px;background:#14291c;color:#dbece0;font-weight:800;cursor:pointer}
.lab-worker-card button:disabled{opacity:.38;cursor:not-allowed}
.lab-worker-card.locked{opacity:.7}

/* Cross Chamber dropdowns stay fixed regardless of option text */
.parent-grid{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}
.parent-grid>div{min-width:0}
.parent-grid select{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  height:38px;
  box-sizing:border-box;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:700px){
  .lab-worker-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .parent-grid{grid-template-columns:1fr}
  .parent-grid select{width:100%;max-width:100%}
}

/* Grow Room */
.grow-hero{background:radial-gradient(circle at 85% 20%,rgba(56,130,75,.20),transparent 34%),linear-gradient(135deg,#0b1710,#0a130d)}
.grow-bay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.grow-bay{padding:13px;border:1px solid #294834;border-radius:12px;background:#09130d;min-width:0}
.grow-bay.empty-bay{border-style:dashed;opacity:.78}
.bay-number{font-size:.48rem;letter-spacing:.14em;color:#6f8b79;font-weight:900}
.plant-art{font-size:2rem;margin:8px 0}
.grow-bay>b{display:block;font-size:.72rem}
.grow-bay>small{display:block;color:var(--muted);font-size:.53rem;margin-top:4px}
.grow-track{height:7px;background:#07100a;border-radius:999px;overflow:hidden;margin:10px 0}
.grow-track i{display:block;height:100%;background:#4f9a62;border-radius:inherit}
.grow-bay-actions{display:grid;grid-template-columns:1fr auto;gap:6px}
.grow-bay-actions button,.seed-card button{min-height:40px;border:1px solid #31523d;border-radius:9px;background:#14291c;color:#deefe3;font-weight:800;cursor:pointer}
.grow-bay-actions button:disabled{opacity:.4}
.seed-vault-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.seed-card{padding:11px;border:1px solid #294834;border-radius:11px;background:#09130d}
.seed-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.seed-head h3{margin:0;font-size:.7rem}.seed-head>b{font-size:.58rem;color:#d8c77a;white-space:nowrap}
.seed-card>small{display:block;color:var(--muted);font-size:.51rem;margin:7px 0}
.seed-card button{width:100%}
.phenotype-active{margin-top:8px;padding:8px;border:1px solid #675a2b;border-radius:9px;background:#211d10;color:#f4df91;font-size:.58rem;font-weight:800}
.target-control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;grid-column:1/-1;padding:8px;border:1px solid #294834;border-radius:9px;background:#09130d;color:#b9cec0;font-size:.55rem;font-weight:800}
.target-control select{min-width:120px;height:36px}
.phenotype-guide article{min-height:92px}
@media(max-width:650px){
  .grow-bay-grid{grid-template-columns:1fr}
  .seed-vault-grid{grid-template-columns:1fr}
}

/* Cross Chamber parents are assigned only from Strain Manager */
.parent-card-grid{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:stretch}
.cross-parent-card{min-width:0;padding:12px;border:1px solid #31523d;border-radius:11px;background:#09130d;display:grid;gap:8px}
.cross-parent-card.empty-parent{border-style:dashed;color:var(--muted);align-content:center;min-height:150px}
.cross-parent-card>small{color:#718b79;font-size:.48rem;letter-spacing:.12em;font-weight:900}
.cross-parent-card>span{font-size:.52rem;color:var(--muted);line-height:1.4}
.cross-parent-head{display:flex;gap:8px;align-items:center;min-width:0}
.cross-parent-head>div:last-child{min-width:0}
.cross-parent-head b{display:block;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cross-parent-card button{min-height:36px;border:1px solid #4b3b3b;border-radius:8px;background:#201313;color:#e5b5b5;font-weight:800;cursor:pointer}
@media(max-width:560px){.parent-card-grid{grid-template-columns:1fr}.multiply{text-align:center}}

/* Rarity subcategory filters */
.rarity-tabs{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:2px 0 10px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.rarity-tabs button{
  flex:0 0 auto;
  min-height:40px;
  padding:0 12px;
  border:1px solid #294834;
  border-radius:999px;
  background:#09130d;
  color:#a9c0b0;
  font-size:.54rem;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.rarity-tabs button.active{
  border-color:#6ea87d;
  background:#173020;
  color:#edf8f0;
}
@media(hover:hover) and (pointer:fine){
  .rarity-tabs button:hover{border-color:#527860}
}

/* Strain Manager cleanup workflow */
.strain-manage-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 10px;
}
.strain-manage-row button{
  min-height:40px;
  padding:0 13px;
  border:1px solid #294834;
  border-radius:9px;
  background:#0d1a12;
  color:#dbe9df;
  font-weight:900;
  cursor:pointer;
}
.strain-manage-row .danger-action{
  border-color:#6b3434;
  background:#281515;
  color:#f3c3c3;
}
.strain-manage-row button:disabled{opacity:.45;cursor:not-allowed}
.strain-card.manage-mode{position:relative}
.strain-card.delete-selected{outline:2px solid #9c5656;outline-offset:-2px}
.delete-select{
  width:100%;
  min-height:34px;
  margin-bottom:7px;
  border:1px solid #6a4040;
  border-radius:8px;
  background:#241515;
  color:#edc7c7;
  font-size:.52rem;
  font-weight:900;
  cursor:pointer;
}
.delete-select.protected{
  border-color:#33443a;
  background:#101712;
  color:#75827a;
  cursor:not-allowed;
}

/* Long-press strain selection */
.manage-hint{
  align-self:center;
  color:#789083;
  font-size:.5rem;
  line-height:1.35;
}
.strain-card.long-press-arming{
  outline:2px solid #6b7e70;
  outline-offset:-2px;
  transform:scale(.995);
}
@media(hover:hover) and (pointer:fine){
  .strain-card[data-strain-id]{user-select:none}
}

.inline-sort-control{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 8px;
  border:1px solid #294834;
  border-radius:9px;
  background:#0d1a12;
}
.inline-sort-control span{
  color:#8fa397;
  font-size:.5rem;
  font-weight:900;
  white-space:nowrap;
}
.inline-sort-control select{
  min-height:34px;
  border:0;
  background:#0d1a12;
  color:#dbe9df;
  font-size:.54rem;
  font-weight:800;
  max-width:180px;
}
@media(max-width:560px){
  .inline-sort-control{flex:1 1 100%}
  .inline-sort-control select{max-width:none;width:100%}
}
