:root{--ink:#211b25;--muted:#756d78;--line:#e7e2e8;--canvas:#f5f3f5;--panel:#fff;--plum:#2b1b2f;--plum-2:#432648;--purple:#86418b;--purple-soft:#f2eaf3;--copper:#c9794b;--green:#178260;--green-soft:#e9f6f1;--red:#c54f4b;--red-soft:#fff0ef;--amber:#b97819;--amber-soft:#fff6e6;--blue:#356fa6;--shadow:0 12px 32px rgba(42,26,45,.08)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}
.sidebar{position:fixed;inset:0 auto 0 0;width:238px;height:100vh;padding:20px 16px;background:linear-gradient(170deg,var(--plum) 0%,#38203c 62%,#231923 100%);color:#fff;display:flex;flex-direction:column;z-index:10}.brand{height:106px;border-radius:12px;background:#fff;overflow:hidden;display:block;margin-bottom:24px;box-shadow:0 8px 24px rgba(0,0,0,.2)}.brand img{width:100%;height:100%;object-fit:cover;display:block}.main-nav{display:grid;gap:5px}.nav-item{height:44px;border:0;border-radius:8px;background:transparent;color:#cdbfd0;padding:0 12px;display:flex;gap:11px;align-items:center;text-align:left;font-weight:620;font-size:.88rem}.nav-item svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:rgba(201,121,75,.17);color:#fff;box-shadow:inset 3px 0 0 var(--copper)}.sidebar-bottom{margin-top:auto}.plant-status{border-top:1px solid rgba(255,255,255,.12);padding:17px 9px 14px;display:flex;gap:10px;align-items:center}.plant-status>span{width:8px;height:8px;border-radius:50%;background:#49c794;box-shadow:0 0 0 4px rgba(73,199,148,.12)}.plant-status strong,.user-card strong{font-size:.79rem;display:block}.plant-status small,.user-card small{font-size:.7rem;color:#ac9eaf;display:block;margin-top:2px}.logout-form{margin:0}.user-card{border:0;background:rgba(255,255,255,.05);width:100%;border-radius:9px;color:#fff;display:flex;align-items:center;gap:10px;padding:10px;text-align:left}.user-card:hover{background:rgba(255,255,255,.1)}.user-card>span:nth-child(2){min-width:0}.user-card b{margin-left:auto;color:#b9a9bc;font-size:.78rem}.user-avatar{width:32px;height:32px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;background:#c9794b;color:#2a1722;font-weight:800;font-size:.72rem}
.workspace{grid-column:2;min-width:0;padding:0 30px 36px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.breadcrumb{font-size:.72rem;color:#8b828e;margin-bottom:3px}.topbar h1{font-size:1.5rem;letter-spacing:-.035em;margin:0}.top-actions{display:flex;align-items:center;gap:9px}.secondary-btn,.primary-btn,.today-btn,.filter-btn,.square-btn,.icon-btn{height:39px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 13px;font-weight:650;font-size:.82rem}.primary-btn{background:var(--plum);color:#fff;border-color:var(--plum)}.primary-btn:hover{background:var(--plum-2)}.secondary-btn:hover,.today-btn:hover,.filter-btn:hover,.square-btn:hover{border-color:#c4b8c7}.icon-btn{width:39px;padding:0;position:relative;display:grid;place-items:center}.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.icon-btn i{position:absolute;width:6px;height:6px;background:var(--red);border:2px solid #fff;border-radius:50%;right:7px;top:7px}
.date-toolbar{height:92px;display:grid;grid-template-columns:auto minmax(560px,1fr) auto;gap:22px;align-items:center}.date-controls{display:flex;align-items:center;gap:6px}.square-btn{width:36px;padding:0;font-size:1.4rem;line-height:1}.today-btn{margin:0 3px}.month-label{font-size:.82rem;font-weight:750;margin-left:8px;white-space:nowrap}.date-strip{display:grid;grid-template-columns:repeat(7,minmax(66px,1fr));gap:5px}.day-button{height:58px;border:1px solid transparent;background:transparent;border-radius:9px;color:var(--muted);display:grid;place-items:center;align-content:center;gap:3px}.day-button span{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.day-button strong{font-size:1rem;color:var(--ink)}.day-button:hover{background:#fff;border-color:var(--line)}.day-button.selected{background:var(--plum);color:#d7c9da;box-shadow:0 5px 14px rgba(43,27,47,.18)}.day-button.selected strong{color:#fff}.day-button.has-risk:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--red);position:absolute;margin:43px 0 0 42px}.day-button{position:relative}.view-switch{background:#eae6eb;padding:3px;border-radius:8px;display:flex}.view-switch button{height:32px;padding:0 12px;border:0;background:transparent;border-radius:6px;font-size:.75rem;color:var(--muted);font-weight:700}.view-switch button.active{background:#fff;color:var(--ink);box-shadow:0 2px 5px rgba(0,0,0,.08)}
.summary-bar{min-height:78px;background:#fff;border:1px solid var(--line);border-radius:11px;display:grid;grid-template-columns:minmax(190px,1.35fr) repeat(4,minmax(125px,1fr));align-items:center;box-shadow:0 3px 12px rgba(42,26,45,.035)}.summary-date,.summary-stat{padding:0 21px;border-right:1px solid var(--line)}.summary-stat:last-child{border:0}.summary-date span,.summary-stat span{display:block;color:var(--muted);font-size:.7rem;margin-bottom:4px}.summary-date strong{font-size:.96rem}.summary-stat strong{font-size:1.15rem;letter-spacing:-.02em}.alert-stat strong{color:var(--red)}
.content-grid{display:grid;grid-template-columns:minmax(730px,1fr) 330px;gap:17px;margin-top:17px}.planning-panel,.decision-panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 18px rgba(42,26,45,.04)}.panel-header{height:76px;padding:0 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-header h2,.decision-panel h2{margin:0;font-size:.96rem}.panel-header p,.decision-panel header p{font-size:.72rem;color:var(--muted);margin:4px 0 0}.panel-tools{display:flex;gap:7px}.search-field{height:36px;border:1px solid var(--line);border-radius:7px;background:#faf9fa;display:flex;align-items:center;padding:0 10px;gap:7px}.search-field svg{width:15px;height:15px;fill:none;stroke:#8b828e;stroke-width:1.8}.search-field input{border:0;outline:0;background:transparent;width:116px;font-size:.76rem}.filter-btn{height:36px;background:#faf9fa}.filter-btn span{margin-left:8px;color:#8b828e}.schedule-head,.schedule-row{display:grid;grid-template-columns:minmax(155px,.8fr) minmax(215px,1.18fr) minmax(215px,1.18fr) 92px}.schedule-head{min-height:37px;align-items:center;padding:0 18px;color:#8b828e;font-size:.66rem;font-weight:750;text-transform:uppercase;letter-spacing:.055em;background:#fbfafb;border-bottom:1px solid var(--line)}.schedule-row{min-height:82px;padding:0 18px;border-bottom:1px solid #efebf0;align-items:center}.schedule-row:hover{background:#fcfbfc}.machine-name strong{display:block;font-size:.82rem}.machine-name span{display:block;font-size:.67rem;color:var(--muted);margin-top:4px}.shift-cell{padding-right:15px}.shift-meta{display:flex;justify-content:space-between;font-size:.68rem;margin-bottom:7px}.shift-meta span{color:var(--muted)}.shift-meta strong{font-size:.67rem}.allocation-bar{height:26px;background:#f1eef2;border-radius:5px;overflow:hidden;position:relative}.allocation-fill{height:100%;background:#d7ede5;color:#176749;display:flex;align-items:center;padding-left:8px;font-size:.65rem;font-weight:750;border-right:2px solid #69bb9e;white-space:nowrap}.allocation-bar.warning .allocation-fill{background:#fbebcd;color:#8b5d17;border-color:#dda94f}.allocation-bar.danger .allocation-fill{background:#f8d7d5;color:#a43d39;border-color:#d96964}.coverage-cell{text-align:right}.coverage-cell strong{display:block;font-size:.82rem}.status-label{display:inline-block;margin-top:5px;font-size:.62rem;font-weight:800;padding:3px 6px;border-radius:5px;background:var(--green-soft);color:var(--green)}.status-label.warning{background:var(--amber-soft);color:var(--amber)}.status-label.danger{background:var(--red-soft);color:var(--red)}.schedule-footer{min-height:54px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;color:#8b828e;font-size:.65rem}.legend{display:flex;gap:16px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:2px}.legend-fill{background:#78bda4}.legend-open{background:#e8e3e9}.legend-risk{background:#d96964}
.decision-panel{padding-bottom:15px}.decision-panel>header{height:76px;padding:0 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.count-badge{width:27px;height:27px;border-radius:7px;background:var(--red-soft);color:var(--red);font-size:.72rem;font-weight:850;display:grid;place-items:center}.decision-empty{padding:30px 20px;text-align:center}.decision-empty .check{width:40px;height:40px;border-radius:50%;margin:0 auto 12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900}.decision-empty strong{display:block;font-size:.84rem}.decision-empty p{font-size:.72rem;color:var(--muted);line-height:1.5}.decision-card{margin:14px;border:1px solid #efcecc;border-radius:9px;background:#fffafa;overflow:hidden}.decision-card-top{padding:13px 13px 10px;display:flex;gap:10px}.severity{width:29px;height:29px;border-radius:7px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);font-size:.75rem;font-weight:900;flex:0 0 auto}.decision-card h3{margin:0;font-size:.8rem}.decision-card p{font-size:.69rem;line-height:1.45;color:var(--muted);margin:5px 0}.decision-meta{display:flex;gap:10px;font-size:.64rem;color:#746c77}.decision-action{width:100%;height:38px;border:0;border-top:1px solid #efcecc;background:#fff;color:#8b3f52;font-weight:750;font-size:.72rem}.decision-action:hover{background:#fff3f2}.capacity-card{margin:14px;border:1px solid var(--line);border-radius:9px;padding:14px}.capacity-title{display:flex;justify-content:space-between;font-size:.72rem}.capacity-title span{font-weight:750}.capacity-title strong{font-size:.65rem;color:var(--muted)}.capacity-ring{width:106px;height:106px;margin:14px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--purple) 0 92%,#eee9ef 92%);position:relative}.capacity-ring:after{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}.capacity-ring div{position:relative;z-index:1;text-align:center}.capacity-ring strong{display:block;font-size:1.25rem}.capacity-ring span{font-size:.62rem;color:var(--muted)}.capacity-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f0edf1;font-size:.68rem}.capacity-row span{color:var(--muted)}.text-btn{border:0;background:transparent;color:var(--purple);font-weight:750;font-size:.7rem;padding:12px 0 0}
.overlay{position:fixed;inset:0;background:rgba(25,16,27,.42);z-index:30;opacity:0;pointer-events:none;transition:.22s}.overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;z-index:31;right:0;top:0;width:min(500px,94vw);height:100vh;background:#fff;box-shadow:-20px 0 55px rgba(30,18,32,.2);transform:translateX(102%);transition:transform .25s ease;padding:26px;overflow:auto}.drawer.open{transform:none}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between}.drawer-kicker{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--purple);font-weight:800}.drawer-header h2{font-size:1.25rem;margin:5px 0}.close-btn{width:34px;height:34px;border:1px solid var(--line);background:#faf9fa;border-radius:8px;font-size:1.2rem}.absence-card{margin:20px 0;background:var(--red-soft);border:1px solid #f0cecc;border-radius:10px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px}.employee-avatar{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;font-size:.7rem;font-weight:850;background:#eee}.danger-avatar{background:#f3cac8;color:#993f3b}.absence-card strong{font-size:.8rem}.absence-card p{margin:3px 0 0;font-size:.67rem;color:#806361}.hours-lost{font-size:.72rem;font-weight:850;color:var(--red)}.drawer-section-head h3,.impact-box h3{font-size:.86rem;margin:0}.drawer-section-head p{font-size:.7rem;color:var(--muted);line-height:1.45}.candidate-list{display:grid;gap:8px;margin-top:12px}.candidate{width:100%;min-height:66px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left}.candidate:hover,.candidate.selected{border-color:#a665ab;box-shadow:0 0 0 3px rgba(134,65,139,.09)}.candidate strong{font-size:.78rem;display:block}.candidate small{font-size:.65rem;color:var(--muted);display:block;margin-top:3px}.candidate em{font-style:normal;background:var(--purple-soft);color:var(--purple);padding:4px 6px;border-radius:5px;font-size:.61rem;font-weight:800}.employee-avatar.purple{background:#ead9ec;color:#713577}.employee-avatar.blue{background:#dceaf7;color:#35658f}.employee-avatar.copper{background:#f5e0d4;color:#955630}.impact-box{background:#f8f6f8;border-radius:9px;margin:17px 0;padding:14px}.impact-box h3{margin-bottom:9px}.impact-box>div{display:flex;justify-content:space-between;padding:6px 0;font-size:.7rem}.impact-box>div span{color:var(--muted)}.positive{color:var(--green)}.drawer-footer{display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;z-index:40;left:50%;bottom:24px;transform:translate(-50%,35px);opacity:0;background:var(--plum);color:#fff;border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:11px;box-shadow:var(--shadow);transition:.22s}.toast.show{transform:translate(-50%,0);opacity:1}.toast>span{width:26px;height:26px;border-radius:50%;background:#347d63;display:grid;place-items:center}.toast strong,.toast small{display:block}.toast strong{font-size:.76rem}.toast small{font-size:.66rem;color:#cfc3d1;margin-top:2px}
@media(max-width:1180px){.app-shell{grid-template-columns:78px 1fr}.sidebar{width:78px}.brand{height:50px}.nav-item{font-size:0;justify-content:center;padding:0}.nav-item svg{width:20px;height:20px}.plant-status div,.user-card span:last-child{display:none}.plant-status{justify-content:center}.user-card{justify-content:center}.workspace{grid-column:2;padding:0 18px 30px}.date-toolbar{grid-template-columns:auto 1fr}.view-switch{display:none}.content-grid{grid-template-columns:1fr}.decision-panel{display:grid;grid-template-columns:1fr 300px}.decision-panel>header{grid-column:1/-1}.schedule-head,.schedule-row{grid-template-columns:145px minmax(190px,1fr) minmax(190px,1fr) 78px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:10px 14px;display:grid;grid-template-columns:70px 1fr}.brand{height:48px;margin:0}.main-nav{display:flex;justify-content:flex-end}.nav-item{width:46px}.sidebar-bottom{display:none}.workspace{padding:0 12px 24px}.topbar{height:74px}.top-actions .secondary-btn,.icon-btn{display:none}.date-toolbar{height:auto;padding:12px 0;display:block}.date-controls{margin-bottom:10px}.date-strip{overflow-x:auto;grid-template-columns:repeat(7,68px);padding-bottom:4px}.summary-bar{grid-template-columns:1fr 1fr}.summary-date{grid-column:1/-1;padding:14px;border-bottom:1px solid var(--line)}.summary-stat{padding:12px;border-bottom:1px solid var(--line)}.content-grid{display:block}.decision-panel{display:block;margin-top:14px}.panel-header{height:auto;padding:14px;display:block}.panel-tools{margin-top:11px}.schedule-head,.schedule-row{grid-template-columns:140px 180px 180px 75px;min-width:575px}.planning-panel{overflow-x:auto}.schedule-footer{min-width:575px}.legend{gap:8px}.topbar h1{font-size:1.25rem}}
@media(min-width:761px){html,body{height:100%;overflow:hidden}.app-shell{height:100vh;min-height:0}.workspace{height:100vh;min-height:0;overflow:hidden;display:grid;grid-template-rows:86px 82px 70px minmax(0,1fr);padding-bottom:18px}.topbar,.date-toolbar{height:auto}.summary-bar{min-height:0}.content-grid{height:auto;min-height:0;margin-top:12px}.planning-panel{min-height:0;overflow:hidden;display:grid;grid-template-rows:68px 34px minmax(0,1fr) 40px}.panel-header{height:auto}.schedule{min-height:0;display:grid;grid-template-rows:repeat(8,minmax(0,1fr))}.schedule-row{height:auto;min-height:0}.schedule-head,.schedule-footer{min-height:0}.decision-panel{min-height:0;overflow:hidden;display:flex;flex-direction:column}.decision-panel>header{height:68px;flex:0 0 68px}.capacity-card{margin-top:auto}.drawer{overflow-y:auto}}
.operator-bar{width:100%;cursor:pointer;position:relative;isolation:isolate}.operator-bar:hover,.operator-bar:focus-visible{box-shadow:0 0 0 2px rgba(134,65,139,.28);outline:0}.operator-bar .allocation-fill{position:absolute;left:0;top:0;bottom:0;height:auto;border-radius:5px 0 0 5px;z-index:1}.bar-chevron{position:absolute;right:7px;top:1px;color:#746b77;font-size:1rem;font-weight:800;z-index:2}.drawer-subtitle{margin:3px 0 0;color:var(--muted);font-size:.7rem}.operator-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0;border:1px solid var(--line);border-radius:9px}.operator-summary>div{padding:13px;border-right:1px solid var(--line)}.operator-summary>div:last-child{border:0}.operator-summary span,.operator-summary strong{display:block}.operator-summary span{font-size:.62rem;color:var(--muted);margin-bottom:4px}.operator-summary strong{font-size:.92rem}.operator-list{display:grid;gap:8px;margin-top:13px}.operator-row{min-height:62px;border:1px solid var(--line);border-radius:9px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:10px}.operator-row strong,.operator-row small{display:block}.operator-row strong{font-size:.78rem}.operator-row small{font-size:.65rem;color:var(--muted);margin-top:3px}.operator-hours{font-size:.7rem;font-weight:800;background:#f3eff4;border-radius:6px;padding:5px 7px}
.schedule-head,.schedule-row{grid-template-columns:minmax(145px,.78fr) minmax(185px,1fr) minmax(185px,1fr) 82px}.schedule-head>*,.schedule-row>*{min-width:0}.shift-cell{padding-right:12px}.operator-modal{position:fixed;z-index:31;left:50%;top:50%;width:min(640px,92vw);max-height:calc(100vh - 40px);padding:25px;background:#fff;border-radius:13px;box-shadow:0 24px 70px rgba(30,18,32,.28);opacity:0;visibility:hidden;transform:translate(-50%,-46%) scale(.98);transition:.2s ease;overflow-y:auto}.operator-modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.operator-modal .operator-list{grid-template-columns:1fr 1fr}.operator-modal .drawer-section-head{margin-top:4px}
@media(max-width:1180px){.schedule-head,.schedule-row{grid-template-columns:135px minmax(175px,1fr) minmax(175px,1fr) 72px}}
@media(max-width:760px){.schedule-head,.schedule-row{grid-template-columns:130px 185px 185px 70px;min-width:570px}.operator-modal{width:min(560px,94vw);padding:18px}.operator-modal .operator-list{grid-template-columns:1fr}}
.operator-bar{display:block;border:0;padding:0;text-align:left;font:inherit}.operator-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:25px;border:0;border-radius:13px;background:#fff;color:var(--ink);box-shadow:0 24px 70px rgba(30,18,32,.3);overflow-y:auto}.operator-dialog::backdrop{background:rgba(25,16,27,.48);backdrop-filter:blur(2px)}.operator-dialog .operator-list{grid-template-columns:1fr 1fr}.operator-dialog .drawer-section-head{margin-top:4px}.operator-dialog[open]{animation:dialog-in .16s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:600px){.operator-dialog{padding:18px}.operator-dialog .operator-list{grid-template-columns:1fr}}
.summary-bar{display:none}.date-navigator{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:9px}.date-chevron{width:38px;height:38px;padding:0;border:1px solid #ddd6df;border-radius:10px;background:#fff;color:var(--plum);display:grid;place-items:center;box-shadow:0 2px 7px rgba(42,26,45,.06);transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.date-chevron svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.date-chevron:hover{background:var(--plum);border-color:var(--plum);color:#fff;transform:translateY(-1px);box-shadow:0 5px 13px rgba(42,26,45,.17)}.date-chevron:focus-visible{outline:3px solid rgba(134,65,139,.18);outline-offset:2px}@media(min-width:761px){.workspace{grid-template-rows:86px 82px minmax(0,1fr)}}@media(max-width:760px){.date-navigator{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}.date-chevron{width:34px;height:34px}.date-controls{display:flex;justify-content:space-between}.month-label{margin-left:auto}}
.header-date-control{height:42px;display:flex;align-items:center;gap:9px;padding-left:11px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(42,26,45,.045);white-space:nowrap}.header-date-control>svg{width:17px;height:17px;fill:none;stroke:var(--purple);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-date-control>strong{font-size:.72rem;letter-spacing:.01em}.header-date-control .today-btn{height:30px;margin:0 5px 0 2px;padding:0 10px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:var(--purple);font-size:.7rem}.header-date-control .today-btn:hover{background:var(--purple-soft);border-radius:6px}.date-toolbar{grid-template-columns:minmax(0,1fr) auto}.date-navigator{grid-column:1}.view-switch{grid-column:2}@media(max-width:1180px){.header-date-control>strong{display:none}.date-toolbar{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.header-date-control{display:none}.date-toolbar{display:block}.view-switch{display:none}}
.operator-row{width:100%;background:#fff;text-align:left;color:var(--ink);cursor:pointer}.operator-row:hover,.operator-row.selected{border-color:#a665ab;background:#fcf8fc;box-shadow:0 0 0 3px rgba(134,65,139,.08)}.operator-row:focus-visible{outline:3px solid rgba(134,65,139,.16);outline-offset:1px}.operator-empty{padding:20px;border:1px dashed var(--line);border-radius:9px;text-align:center;color:var(--muted);font-size:.72rem}.operator-actions[hidden]{display:none}.operator-actions{margin-top:16px;padding:15px;border:1px solid #d9c9dc;border-radius:11px;background:#faf7fb}.operator-actions-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.operator-actions-head span,.operator-actions-head strong{display:block}.operator-actions-head span{font-size:.62rem;color:var(--muted);margin-bottom:3px}.operator-actions-head strong{font-size:.86rem}.operator-actions-head button{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted)}.operator-targets{display:grid;grid-template-columns:1.25fr .85fr;gap:9px}.operator-targets label{font-size:.63rem;font-weight:750;color:var(--muted)}.operator-targets select{width:100%;height:38px;margin-top:5px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:.72rem;outline:none}.operator-targets select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(134,65,139,.1)}.operator-action-status{min-height:17px;margin:9px 0 0;font-size:.68rem}.operator-action-status.success{color:var(--green);font-weight:700}.operator-action-status.error{color:var(--red);font-weight:700}.operator-action-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.remove-operator-btn{height:39px;padding:0 13px;border:1px solid #edc6c4;border-radius:8px;background:#fff;color:var(--red);font-size:.72rem;font-weight:750}.remove-operator-btn:hover{background:var(--red-soft)}.operator-action-buttons button:disabled{opacity:.45;cursor:default}@media(max-width:600px){.operator-targets{grid-template-columns:1fr}.operator-action-buttons{flex-direction:column-reverse}.operator-action-buttons button{width:100%}}
.scenario-trigger{display:flex;align-items:center;gap:7px}.scenario-trigger span{color:#e7b18f;font-size:1rem}.scenario-dialog{width:min(900px,calc(100vw - 36px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 30px 90px rgba(30,18,32,.34);overflow:auto}.scenario-dialog::backdrop{background:rgba(24,14,27,.56);backdrop-filter:blur(3px)}.scenario-dialog[open]{animation:scenario-in .2s ease-out}@keyframes scenario-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.scenario-header{min-height:132px;padding:24px 26px 20px;background:linear-gradient(135deg,#2b1b2f,#4d2951);color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.scenario-header h2{margin:5px 0 6px;font-size:1.42rem;letter-spacing:-.025em}.scenario-header p{max-width:690px;margin:0;color:#d8cbd9;font-size:.75rem;line-height:1.55}.scenario-header .close-btn{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;flex:0 0 auto}.scenario-kicker{text-transform:uppercase;letter-spacing:.12em;color:#d99b76;font-size:.62rem;font-weight:850}.scenario-input-view{padding:23px 26px 26px}.scenario-input-view[hidden],.scenario-results[hidden]{display:none}.scenario-prompt>span{display:block;margin-bottom:8px;font-size:.72rem;font-weight:800}.scenario-prompt textarea{width:100%;min-height:98px;resize:vertical;padding:14px 15px;border:1px solid #dcd4de;border-radius:11px;background:#fbfafb;color:var(--ink);font:500 .88rem/1.55 Inter,"Segoe UI",sans-serif;outline:none;transition:.16s}.scenario-prompt textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(134,65,139,.09);background:#fff}.scenario-prompt textarea.invalid{border-color:var(--red);box-shadow:0 0 0 4px rgba(197,79,75,.08)}.scenario-examples{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:11px}.scenario-examples>span{font-size:.65rem;color:var(--muted);margin-right:2px}.scenario-examples button{height:28px;padding:0 9px;border:1px solid var(--line);border-radius:20px;background:#fff;color:#5f5662;font-size:.63rem}.scenario-examples button:hover{border-color:#b993bd;background:var(--purple-soft);color:var(--purple)}.scenario-constraints{display:flex;gap:17px;flex-wrap:wrap;margin:20px 0 18px;padding:13px 14px;border-radius:9px;background:#f7f4f7;color:#5e5561;font-size:.65rem;font-weight:700}.scenario-constraints span:before{color:var(--green)}.scenario-analyse{min-width:236px;display:flex;align-items:center;justify-content:center;gap:8px}.scenario-analyse:disabled{opacity:.78;cursor:wait}.scenario-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:scenario-spin .7s linear infinite}@keyframes scenario-spin{to{transform:rotate(360deg)}}.scenario-results{padding:21px 24px 23px}.scenario-solved{min-height:68px;padding:12px 14px;border:1px solid #cde7dc;border-radius:11px;background:#f1faf6;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.scenario-check{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.scenario-solved strong{display:block;font-size:.84rem;color:#176749}.scenario-solved p{margin:3px 0 0;color:#5f746b;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:650px}.solve-time{padding:5px 7px;border-radius:6px;background:#fff;color:#39745f;font-size:.62rem;font-weight:800}.scenario-result-grid{display:grid;grid-template-columns:225px minmax(0,1fr);gap:15px;margin-top:15px}.scenario-options{display:grid;align-content:start;gap:8px}.scenario-option{position:relative;width:100%;min-height:69px;padding:12px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;color:var(--ink)}.scenario-option strong,.scenario-option small{display:block}.scenario-option strong{font-size:.75rem}.scenario-option small{margin-top:5px;color:var(--muted);font-size:.63rem}.scenario-option:hover,.scenario-option.selected{border-color:#a866ad;background:#fcf9fc;box-shadow:0 0 0 3px rgba(134,65,139,.08)}.scenario-option.selected:after{content:"✓";position:absolute;right:10px;top:10px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;font-size:.62rem}.recommended{display:inline-block;margin-bottom:6px;padding:3px 6px;border-radius:5px;background:#f3e7dc;color:#995936;font-size:.55rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.scenario-proposal{min-height:300px;border:1px solid var(--line);border-radius:11px;padding:15px 16px}.proposal-title{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #eee9ef}.proposal-title span{font-size:.59rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.proposal-title h3{margin:4px 0 0;font-size:.98rem}.proposal-title>div:last-child{text-align:right}.proposal-title>div:last-child strong,.proposal-title>div:last-child small{display:block}.proposal-title>div:last-child strong{color:var(--green);font-size:.8rem}.proposal-title>div:last-child small{margin-top:4px;color:var(--muted);font-size:.63rem}.proposal-changes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.proposal-changes article{min-height:74px;padding:10px;border:1px solid #ece6ed;border-radius:9px;background:#fcfbfc;display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center}.proposal-avatar{width:33px;height:33px;border-radius:8px;display:grid;place-items:center;background:#ead9ec;color:#713577;font-size:.65rem;font-weight:850}.proposal-changes strong,.proposal-changes p,.proposal-changes small{display:block}.proposal-changes strong{font-size:.7rem}.proposal-changes p{margin:3px 0;color:var(--purple);font-size:.65rem;font-weight:750}.proposal-changes small{color:var(--muted);font-size:.59rem}.proposal-why{padding:11px 12px;border-radius:9px;background:#f5f8f6;display:grid;grid-template-columns:1fr 1fr;gap:7px 12px}.proposal-why>strong{grid-column:1/-1;font-size:.68rem}.proposal-why span{color:#53645c;font-size:.61rem}.scenario-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.scenario-footer>div{display:flex;align-items:center;gap:13px}.scenario-footer>div>span{color:var(--green);font-size:.67rem;font-weight:800}.apply-scenario{min-width:158px}.scenario-updated{animation:scenario-highlight 3.2s ease}@keyframes scenario-highlight{0%,20%{background:#e8f7f0;box-shadow:inset 4px 0 0 #38a27d}100%{background:transparent;box-shadow:none}}@media(max-width:760px){.scenario-header{padding:19px}.scenario-input-view,.scenario-results{padding:17px}.scenario-result-grid{grid-template-columns:1fr}.scenario-options{grid-template-columns:1fr}.proposal-changes,.proposal-why{grid-template-columns:1fr}.proposal-why>strong{grid-column:1}.scenario-footer,.scenario-footer>div{align-items:stretch;flex-direction:column}.scenario-solved{grid-template-columns:auto 1fr}.solve-time{display:none}}
