:root{--bg:#f5f6f3;--card:#fff;--ink:#202c3c;--muted:#7b8390;--line:#e7eae6;--green:#2d6b5a;--green-light:#edf4ef;--danger:#b94747;--amber:#99691c;--shadow:0 3px 18px #283a2f03;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #8dbca9}input:focus,select:focus{outline:0;border-color:#729e8d;box-shadow:0 0 0 3px #729e8d17}input,select{width:100%;height:46px;border:1px solid #dfe5df;border-radius:9px;padding:10px 13px;background:#fff;color:var(--ink);transition:border-color .18s,box-shadow .18s;min-width:0}input::placeholder{color:#a0a7ae}input[type=number]{padding-right:3px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);flex:none}label{display:block;font-size:13px;font-weight:600;margin:0 0 8px}p,h1,h2,h3{margin:0}h1{font-size:33px;line-height:1.4;letter-spacing:-1.1px;font-weight:650}h2{font-size:16px;font-weight:650}h3{font-size:15px;font-weight:600}a{color:inherit;text-decoration:none}svg{width:21px;height:21px;flex:none}[hidden]{display:none!important}.muted{color:var(--muted)}.fine{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;color:var(--green)}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:650;letter-spacing:-.6px;white-space:nowrap}.brand small{font-size:14px;margin-left:3px;font-weight:500;letter-spacing:.3px}.brand-mark{font-size:23px;letter-spacing:-5px;background:var(--ink);width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;padding-right:6px;font-weight:650}.brand-mark span{color:#97d2b2}.tiny-dot{display:inline-block;width:6px;height:6px;background:#5d9e7f;border-radius:50%;flex:none}.button{min-height:43px;padding:11px 18px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:20px;transition:background .15s,transform .15s;white-space:nowrap}.button:active:not(:disabled){transform:translateY(1px)}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:#245b4c}.secondary{background:#fff;border-color:#d9e2da;color:var(--green)}.secondary:hover:not(:disabled){background:#f1f6f2}.danger{color:var(--danger);background:#fff;border-color:#efdcda}.danger:hover:not(:disabled){background:#fff4f2}.wide{width:100%}.boot{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--muted)}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{padding:48px 10%;background:#e9eee6;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;min-height:100vh}.login-story:after{content:"";position:absolute;width:450px;height:450px;right:-240px;bottom:12%;border:1px solid #c8d6ca;border-radius:50%;box-shadow:0 0 0 55px #e9eee6,0 0 0 56px #d6e0d5,0 0 0 110px #e9eee6,0 0 0 111px #dce5da;pointer-events:none}.login-story>*{position:relative;z-index:1}.login-copy{padding:75px 0}.login-copy h1{font-size:clamp(42px,4.8vw,66px);line-height:1.35;margin:22px 0;letter-spacing:-2px}.login-copy h1 span{color:var(--green)}.login-copy>p{font-size:15px;line-height:1.9;color:#68766f}.login-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:35px}.login-pills span{border:1px solid #cbd9ca;padding:6px 11px;border-radius:50px;font-size:11px;color:#637c6d;background:#e9eee6}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px}.login-form{width:100%;max-width:345px}.login-form h2{font-size:27px;margin-top:14px;margin-bottom:9px;letter-spacing:-.7px}.login-form>label{margin-top:37px}.login-form>input{height:49px}.login-form .button{margin-top:20px;height:49px}.login-footnote{font-size:12px;text-align:center;color:#929a9e;line-height:1.9;margin-top:30px}.form-error{color:var(--danger);font-size:12px;margin-top:10px;white-space:pre-wrap;overflow-wrap:anywhere}.workspace{display:flex;min-height:100vh}.sidebar{width:226px;flex:none;padding:31px 22px;background:#fcfdfb;border-right:1px solid var(--line);position:fixed;top:0;bottom:0;display:flex;flex-direction:column}.sidebar .brand{margin:0 0 52px 7px}.nav-caption{font-size:10px;color:#a0a6aa;letter-spacing:1px;margin:0 15px 14px}.nav{display:flex;flex-direction:column;gap:9px}.nav-item{display:flex;align-items:center;gap:12px;border:0;background:transparent;border-radius:9px;padding:13px 14px;color:#7e8791;text-align:left;font-size:13px}.nav-item.active{background:#eaf1eb;color:var(--green);font-weight:650}.nav-item:hover{background:#f0f4ef}.nav-arrow{margin-left:auto;font-size:16px;opacity:0}.nav-item.active .nav-arrow{opacity:1}.sidebar-bottom{margin-top:auto;padding:20px 7px 0}.quiet-note{padding:18px 0 22px;border-bottom:1px solid var(--line);font-size:11px}.quiet-note .tiny-dot{margin-right:6px;vertical-align:middle}.quiet-note strong{font-size:11px;font-weight:600}.quiet-note p{color:#949c9e;margin-top:8px;line-height:1.9}.logout{display:flex;align-items:center;gap:9px;padding:20px 0 18px;background:none;border:0;font-size:12px;color:#7b838b}.logout svg{width:17px;height:17px}.sidebar-bottom>.fine{font-size:9px;color:#a6acb0;white-space:nowrap}.main{margin-left:226px;width:calc(100% - 226px);max-width:1620px;padding:0 45px}.topbar{height:88px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8f969c;border-bottom:1px solid var(--line)}.topbar>span:first-child span{padding:0 13px;color:#c2c6c7}.connection{display:flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid #e2e9df;border-radius:6px;font-size:10px;color:#7a8b7c;background:#fcfdfa}.connection.offline{color:#a0783b;border-color:#e9dfcc}.connection.offline .tiny-dot{background:#c59a51}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:36px 0 30px}.page-heading h1{margin-top:9px}.page-heading p{font-size:12px;color:#91989f;margin-top:11px}.heading-art{font-size:54px;font-weight:200;color:#b7c9bd;margin-right:16px;transform:rotate(-10deg)}.dashboard{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);align-items:start;gap:25px}.form-column,.status-column{min-width:0}.card{background:#fff;border:1px solid #e4e8e1;border-radius:13px;padding:25px;box-shadow:var(--shadow);margin-bottom:20px}.section-heading{display:flex;align-items:center;gap:11px;margin-bottom:23px}.step-number{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;background:#f2f5f0;border:1px solid #e4eae0;color:#87917d;border-radius:8px;font-size:11px;letter-spacing:1px}.section-heading h2{font-size:15px}.section-heading p{font-size:11px;color:#92999e;margin-top:2px}.subtle-badge{margin-left:auto;font-size:10px;color:#8c9890;white-space:nowrap;background:#f5f7f4;padding:3px 7px;border-radius:4px}.fields{display:grid;gap:17px}.two-fields{grid-template-columns:1fr 1fr}.field{min-width:0}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{border:0;background:none;color:#8a9693;font-size:10px;position:absolute;right:7px;top:1px;bottom:1px;padding:9px}.field-note{display:flex;align-items:center;gap:6px;font-size:10px;color:#9aa39e;margin-top:15px}.field-note svg{width:13px;height:13px}.need-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.need-row label{font-size:12px;font-weight:500;margin:0}.number-field{display:flex;align-items:center;width:134px;gap:10px}.number-field input{width:52px;height:36px;font-size:13px;padding:5px 8px}.number-field span{font-size:11px;color:#90988e}.course-table-head,.course-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 27px;gap:12px;align-items:center}.course-table-head{font-size:10px;color:#929b9c;letter-spacing:.3px;margin-bottom:9px}.course-row{margin-bottom:9px}.course-row input{height:42px;font-size:12px;letter-spacing:.3px}.remove-row{border:0;background:none;color:#9eaaa7;padding:2px;display:flex;justify-content:center;border-radius:5px;height:33px;align-items:center}.remove-row:hover:not(:disabled){color:#b65757;background:#f9efed}.remove-row svg{width:17px;height:17px}.add-row{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:9px;background:#fcfdfb;border:1px dashed #dbe3d7;border-radius:7px;color:#768f79;font-size:11px;margin-top:13px}.add-row:hover{background:#f2f6f0}.add-row span{font-size:16px}.info-note{display:flex;gap:9px;background:#f6f8f4;border:1px solid #edf1e8;padding:12px;border-radius:7px;margin-top:19px;color:#8a9686;font-size:10px;line-height:1.8}.info-symbol{display:inline-flex;align-items:center;justify-content:center;border:1px solid #9caa92;border-radius:50%;font-size:9px;line-height:1;width:13px;height:13px;flex:none;margin-top:2px}.form-actions{margin-top:22px;border-top:1px solid #edf0e9;padding-top:20px;display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}.form-actions>.fine{margin-right:auto;font-size:10px}.form-actions .button{font-size:12px;min-height:41px}.form-actions .secondary{padding:9px 12px}.bottom-note{display:flex;gap:9px;color:#9ca49b;font-size:10px;line-height:1.9;padding:0 8px}.bottom-note>span{font-size:15px;color:#a9b4a5}.status-card{padding:23px}.status-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-heading h2{font-size:13px}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;line-height:1.5;padding:4px 9px;border-radius:50px;white-space:nowrap}.status-badge:before{content:"";height:5px;width:5px;background:currentColor;border-radius:50%}.status-badge.idle,.status-badge.stopped{color:#919b97;background:#f3f5f1}.status-badge.running{color:#4a8d6b;background:#edf5ec}.status-badge.waiting{color:#a07d36;background:#fbf3dd}.status-badge.completed{color:#357f64;background:#eaf4ed}.status-badge.failed{color:#b35f55;background:#fbefeb}.empty-status{text-align:center;padding:38px 0 33px}.radar{width:65px;height:65px;border:1px solid #e5ebe2;border-radius:50%;margin:0 auto 23px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle,#f1f5ed 0 18%,transparent 18% 42%,#e9eee5 43% 44%,transparent 45%);}.radar:after{content:"";width:8px;height:8px;background:#9bbd98;border-radius:50%;position:absolute;top:13px;right:10px;box-shadow:0 0 0 5px #edf3e9}.radar span{height:5px;width:5px;border-radius:50%;background:#becdb4}.empty-status h3{font-size:13px;font-weight:600;margin-bottom:7px;color:#7c897f}.empty-status p{font-size:11px;color:#a4aca5;line-height:1.9}.status-foot{display:flex;gap:7px;align-items:center;border-top:1px solid #edf0e9;padding-top:15px;font-size:10px;color:#a0aaa0}.status-foot .tiny-dot{background:#a9bca2;width:5px;height:5px}.task-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:24px}.task-kind{font-size:11px;color:#5f7f6c}.task-meta .fine{font-size:9px}#task-title{font-size:18px;margin-top:12px;line-height:1.5}#task-description{font-size:11px;margin-top:9px;line-height:1.8;overflow-wrap:anywhere}#task-status>.button{margin:18px 0}.task-result{font-size:11px;color:#5f7b69;margin:15px 0;padding:12px;background:#f3f7ef;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}#task-status{padding-bottom:18px}.log-card{padding:22px}.log-empty{text-align:center;color:#a8b1a8;font-size:10px;padding:29px 0 19px}.log-empty>span{font-size:23px;color:#ced6ca}.event-log{list-style:none;margin:18px 0 0;padding:0;max-height:380px;overflow:auto;scrollbar-width:thin;scrollbar-color:#dfe5d8 transparent}.event-log:empty{display:none}.event-log li{position:relative;padding:0 0 16px 14px;margin-left:3px;border-left:1px solid #e6ebe1;font-size:10px;line-height:1.8;color:#8b968d;overflow-wrap:anywhere;white-space:pre-wrap}.event-log li:last-child{border-left-color:transparent;padding-bottom:0}.event-log li:before{content:"";position:absolute;width:5px;height:5px;left:-3px;top:5px;border-radius:50%;background:#a8b9a0}.event-log li.error{color:#a56056}.event-log li.error:before{background:#ba8170}.event-log li time{font-family:Consolas,monospace;display:block;color:#abb3a7;font-size:9px;margin-bottom:2px}.page-footer{padding:40px 0 22px;display:flex;justify-content:space-between;color:#b1b8b0;font-size:9px;letter-spacing:.6px}.prompt-card{border-color:#e5d5a6;background:#fffcf2}.prompt-label{display:flex;align-items:center;gap:7px;font-size:10px;color:#ad893b;margin-bottom:11px}.attention-dot{background:#cfa450;width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 4px #f6edd5}.prompt-card h2{font-size:16px}.prompt-card>p{font-size:12px;line-height:1.9;margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}.prompt-context{max-height:250px;overflow:auto;white-space:pre-wrap;font-size:11px;line-height:1.9;border:1px solid #eee3c7;background:#fffef8;border-radius:7px;padding:12px;margin-top:14px}.prompt-card form{margin-top:15px}.prompt-card input{background:#fffefb}.prompt-card label{font-size:11px;color:#938158}.prompt-card .button{margin-top:12px}.prompt-card>p.fine{font-size:10px}.hostel-intro{text-align:center;padding:10px 0 6px}.small-illustration{background:#f2f5ef;border:1px solid #e9eee2;width:65px;height:65px;padding:9px;border-radius:15px;color:#9cb096;margin:0 auto 15px}.small-illustration svg{width:46px;height:46px}.hostel-intro p{font-size:12px;color:#9aa294;margin-bottom:18px}.select-action{display:flex;gap:10px}.select-action select{flex:1}.select-action .button{font-size:12px;min-height:46px;padding:10px 13px}.catalog-heading{display:flex;align-items:center;justify-content:space-between;margin-top:24px;margin-bottom:5px}.catalog-heading h3{font-size:13px}.catalog-heading~.field{margin-top:12px}.bed-catalog{margin:12px 0 20px;max-height:320px;overflow:auto;scrollbar-width:thin}.room-group{padding:13px 0;border-bottom:1px solid #edf0e9}.room-group:first-child{padding-top:0}.room-title{font-size:12px;font-weight:600;color:#6b7e71}.room-beds{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.bed-option{display:flex;gap:7px;align-items:center;padding:7px 9px;margin:0;font-size:11px;font-weight:400;background:#fafbf7;border:1px solid #e5eadf;border-radius:6px;cursor:pointer}.bed-option:has(input:checked){border-color:#86a287;background:#edf5e9}.bed-option input{margin:0}.bed-option small{font-size:9px;color:#a0a98f}.bed-option .available{color:#5c966c}.bedding-field label{font-size:12px}.bedding-field p{font-size:10px;margin-top:8px}.bedding-field select{font-size:12px}.catalog-empty{font-size:12px;color:#a1aa99;padding:20px 0;text-align:center}.global-error{font-size:12px;padding:13px 17px;background:#fff3ed;border:1px solid #efdbce;border-radius:8px;color:#ac6c51;margin-bottom:22px;white-space:pre-wrap;overflow-wrap:anywhere}.other-jobs-card{padding:20px}.other-job{border:0;border-top:1px solid #edf0e9;background:none;display:flex;align-items:center;justify-content:space-between;padding:12px 0 0;margin-top:12px;width:100%;text-align:left;gap:8px;color:#7c8a7c;font-size:11px}.other-job:hover{color:#355d46}.other-job .status-badge{font-size:9px}.busy{position:relative}.busy:after{content:"";display:inline-block;height:11px;width:11px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.busy>span{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1450px){.main{padding:0 65px}.dashboard{grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);gap:30px}.card{padding:28px}.sidebar{width:244px;padding:35px 24px}.main{margin-left:244px;width:calc(100% - 244px)}.page-heading{padding:40px 0 35px}}@media(max-width:1100px){.sidebar{width:190px;padding:28px 15px}.sidebar .brand{font-size:17px;margin-left:4px}.sidebar .brand-mark{width:34px;height:34px}.brand small{font-size:12px}.main{margin-left:190px;width:calc(100% - 190px);padding:0 28px}.dashboard{gap:18px;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.card{padding:20px}.two-fields{grid-template-columns:1fr;gap:13px}.page-heading h1{font-size:29px}.sidebar-bottom>.fine{font-size:8px}.field-note{font-size:9px}.form-actions>.fine{flex-basis:100%;margin-bottom:3px}.form-actions{justify-content:flex-start}}@media(max-width:820px){.workspace{display:block}.sidebar{position:static;flex-direction:row;align-items:center;width:100%;padding:18px 24px;border-right:0;border-bottom:1px solid var(--line);gap:25px}.sidebar .brand{margin:0}.sidebar .brand-mark{height:34px;width:34px}.nav-caption,.sidebar-bottom .quiet-note,.sidebar-bottom>.fine{display:none}.nav{flex-direction:row;gap:7px}.nav-item{padding:9px 12px;font-size:12px;gap:7px}.nav-arrow{display:none}.sidebar-bottom{margin:0 0 0 auto;padding:0}.logout{padding:5px;font-size:0;gap:0}.logout svg{height:19px;width:19px}.main{margin:0;width:100%;padding:0 24px}.topbar{height:65px}.page-heading{padding-top:28px}.dashboard{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr)}.two-fields{grid-template-columns:1fr}.sidebar .brand small{display:none}.heading-art{font-size:45px}.login-screen{grid-template-columns:1fr 1fr}.login-story{padding:35px 30px}.login-form-wrap{padding:30px}.login-copy h1{font-size:44px}}@media(max-width:650px){.dashboard{grid-template-columns:1fr}.two-fields{grid-template-columns:1fr 1fr}.status-column{display:grid;grid-template-columns:1fr;gap:0}.status-card{min-height:0}.empty-status{padding:25px 0}.radar{width:50px;height:50px;margin-bottom:16px}.form-actions>.fine{flex-basis:auto;margin-bottom:0}.form-actions{justify-content:flex-end}.status-card{order:0}.prompt-card{order:-1}.page-heading h1{font-size:28px}.page-heading p{font-size:11px;line-height:1.8;max-width:280px}.page-heading{align-items:flex-start}.heading-art{margin-top:17px;margin-right:0;font-size:40px}.sidebar{padding:16px 20px;flex-wrap:wrap;gap:15px}.sidebar .brand{font-size:17px}.nav{order:3;width:100%;gap:10px}.nav-item{flex:1;justify-content:center;padding:10px}.nav-item svg{height:19px;width:19px}.sidebar-bottom{margin-left:auto}.logout{font-size:11px;gap:7px}.main{padding:0 20px}.topbar{height:57px}.connection{font-size:9px;padding:4px 8px}.page-heading{padding:26px 0 23px}.eyebrow{font-size:9px;letter-spacing:1.9px}.card{padding:21px;margin-bottom:16px}.section-heading{margin-bottom:20px}.bottom-note{padding-bottom:17px}.page-footer{padding-top:20px}.login-screen{grid-template-columns:1fr}.login-story{min-height:auto;padding:25px}.login-story>.fine,.login-pills{display:none}.login-copy{padding:28px 0 8px}.login-copy .eyebrow{font-size:9px}.login-copy h1{font-size:37px;margin:12px 0 8px;line-height:1.25}.login-copy h1 br{display:none}.login-copy>p{font-size:12px}.login-copy>p br{display:none}.login-form-wrap{padding:35px 25px 45px}.login-form{max-width:420px}.login-form h2{font-size:23px}.login-form>label{margin-top:25px}.login-story:after{width:200px;height:200px;right:-120px;bottom:5%}}@media(max-width:390px){.main{padding:0 15px}.sidebar{padding:15px}.card{padding:18px}.two-fields{grid-template-columns:1fr}.page-heading h1{font-size:26px}.heading-art{font-size:32px}.subtle-badge{font-size:9px}.course-row,.course-table-head{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 22px;gap:8px}.course-row input{padding:8px 10px}.form-actions>.fine{flex-basis:100%}.form-actions{justify-content:flex-start}.select-action{flex-direction:column}.connection{padding:4px 6px}.topbar{font-size:10px}.login-copy h1{font-size:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
