*{box-sizing:border-box}body{margin:0;background:#06090f;color:#f8fafc;font-family:Inter,system-ui,Segoe UI,sans-serif}button,input,select{font:inherit}button{border:0;border-radius:14px;padding:12px 16px;background:linear-gradient(135deg,#637bff,#9333ea);color:#fff;font-weight:800;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center}button.secondary{background:#20283a;border:1px solid #293548}button.danger,.danger{background:#4a1f2c;color:#fecdd3;border:1px solid #7f3348}button:disabled{opacity:.5;cursor:not-allowed}input,select{width:100%;padding:12px 14px;border-radius:14px;border:1px solid #23314a;background:#06101f;color:#fff;outline:none}pre{white-space:pre-wrap;background:#091325;padding:16px;border-radius:14px;border:1px solid #23314a}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid #23314a}th{background:#182245;color:#fff;font-size:15px;position:sticky;top:0;z-index:1}tbody tr:hover{background:#091322}.app{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:#050d1d;border-right:1px solid #1a2337;padding:20px 14px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh}.main{padding:24px 28px 40px}.brand{display:flex;gap:14px;align-items:center}.logo{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#6ab6ff,#8effb6);display:grid;place-items:center;color:#00122d;font-weight:900;font-size:24px}.brand span,.loginbox span,.note,.muted,.top-range{color:#a7b3cb}.loginbox,.note,.panel,.mini,.today-big,.ann,.person,.hero-card{background:#0a1326;border:1px solid #1d2942;border-radius:24px}.loginbox{padding:18px}.note{margin-top:auto;padding:16px;line-height:1.35}.nav{width:100%;justify-content:flex-start;background:transparent;border:1px solid transparent;color:#dce7ff;padding:14px 16px}.nav.active,.nav:hover{background:#18254a;border-color:#33477b}.wide{width:100%}.top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.top p{margin:0 0 8px;color:#6ef0b6;font-weight:800;letter-spacing:.04em}.top h1{margin:0 0 6px;font-size:54px;line-height:1.05}.topcards{display:grid;grid-template-columns:repeat(3,160px);gap:14px}.mini{padding:18px 20px}.mini span{display:block;color:#a7b3cb;margin-bottom:6px}.mini b{font-size:22px;color:#8ef0b2}.space{display:flex;flex-direction:column;gap:22px}.panel{padding:24px}.panel h2,.panel h3{margin:0 0 14px}.head,.row,.actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.head.small{margin-bottom:12px}.warn{color:#f5d67a}.scroll{overflow:auto}.ribbon-card{display:grid;grid-template-columns:260px 260px 1fr;gap:18px;align-items:center;padding:24px;border-radius:28px;background:linear-gradient(90deg,#5459aa54,#1b315199,#1d4f3f66);border:1px solid #273a57}.today-big{padding:26px 24px;min-height:142px;display:flex;flex-direction:column;justify-content:center}.today-big span{font-size:18px;color:#b8c3d9;margin-bottom:8px}.today-big b{font-size:60px;line-height:1;color:#8ef0b2}.today-big small{margin-top:10px;color:#cce6d7}.ribbon-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.quick-panel .quick-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;align-items:end}.announcement-panel h3{display:flex;align-items:center;gap:8px}.annlist{display:flex;flex-direction:column;gap:16px}.ann{width:100%;justify-content:flex-start;text-align:left;padding:20px;background:#0d1730;border:1px solid #223250;min-height:112px}.ann>div:last-child{display:flex;flex-direction:column;gap:8px}.ann b{font-size:18px}.ann span{font-size:16px;color:#e7f0ff}.ann small{font-size:14px;color:#96a8c7}.ann-dot{width:42px;height:42px;border-radius:14px;background:#10382d;color:#78f7b1;display:grid;place-items:center;flex:0 0 42px}.mealgrid{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);gap:22px;align-items:start}.vertical{display:flex;align-items:center;justify-content:center;min-height:100%;writing-mode:vertical-rl;transform:rotate(180deg);background:#08111f;border:1px solid #20304d;border-radius:24px;color:#a9bae2;font-weight:900;letter-spacing:.2em}.section-title-wrap{display:flex;justify-content:center;margin-bottom:14px}.section-title{padding:10px 26px;border-radius:999px;background:linear-gradient(135deg,#202d55,#2a4b91);border:1px solid #4464c7;font-size:34px;font-weight:900;letter-spacing:.02em;box-shadow:0 8px 30px #3860c42e}.smallInput{width:112px;min-width:100px;text-align:center;padding:12px;border-radius:18px;font-size:18px;font-weight:800}.total td{font-weight:800;background:#0b1630}.ok,.bad{display:inline-flex;padding:7px 12px;border-radius:999px;font-weight:800}.ok{background:#113d2c;color:#a7ffcb}.bad{background:#532536;color:#ffd5dc}.bazargrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.person{padding:16px}.person h4{margin:0 0 12px}.person .big{font-size:32px;font-weight:900;color:#8ef0b2}.click{cursor:pointer}.click:hover{background:#0f1b34}.form3{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.form3 label,.quick-grid label{display:flex;flex-direction:column;gap:8px}.modal{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;padding:24px;z-index:10}.modalcard{width:min(420px,100%);background:#0a1326;border:1px solid #223250;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px}.err{background:#4a1f2c;color:#ffd4dd;padding:12px 14px;border-radius:14px}.center{max-width:560px;margin:40px auto;text-align:center}.center input{margin:10px 0 12px}.actions button,.row button{margin-right:0}@media (max-width:1400px){.quick-panel .quick-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.ribbon-card{grid-template-columns:repeat(2,minmax(220px,1fr))}.ribbon-actions{grid-column:1/-1;justify-content:flex-start}.top{flex-direction:column}.topcards{grid-template-columns:repeat(3,minmax(140px,1fr));width:100%}.top h1{font-size:44px}}@media (max-width:1100px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.mealgrid{grid-template-columns:1fr}.vertical{display:none}.form3{grid-template-columns:1fr}.topcards{grid-template-columns:1fr 1fr 1fr}.main{padding:18px}}@media (max-width:760px){.top h1{font-size:36px}.topcards,.ribbon-card,.quick-panel .quick-grid{grid-template-columns:1fr}.today-big b{font-size:48px}}.mealgrid .panel table{min-width:980px}.mealgrid td:first-child,.mealgrid th:first-child{min-width:112px;white-space:nowrap}.announcement-panel{min-height:310px}.announcement-panel .annlist{max-height:520px;overflow:auto;padding-right:6px}.ann{min-height:126px;padding:24px}.ann.meal-ann{background:linear-gradient(135deg,#7f1d1d6b,#280a12d1);border-color:#7f1d1d}.ann.meal-ann .ann-dot{background:#57151e;color:#fecdd3}.quick-panel{border-color:#315277;background:linear-gradient(135deg,#182446e6,#081326eb)}.quick-panel h3{display:flex;align-items:center;gap:8px}.smallInput:disabled{opacity:.55;background:#050b16;border-style:dashed}.mealgrid{grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);gap:18px}.mealgrid .panel{padding:18px}.mealgrid .panel table{min-width:720px;table-layout:auto}.mealgrid th,.mealgrid td{padding:10px;white-space:nowrap}.mealgrid td:first-child,.mealgrid th:first-child{min-width:92px;white-space:nowrap}.smallInput{width:70px!important;min-width:70px!important;max-width:78px!important;text-align:center;padding:8px!important;border-radius:14px!important;font-size:16px!important;font-weight:800}.section-title{font-size:28px;padding:8px 28px}.vertical{width:74px}@media (max-width: 1400px){.mealgrid{grid-template-columns:1fr}.vertical{display:none}}@media (min-width: 1401px){.mealgrid .scroll{overflow-x:auto}}.announcement-panel{min-height:360px}.announcement-panel .annlist{max-height:620px;overflow:auto;padding-right:8px}.ann{min-height:128px}.ann.meal-ann{background:linear-gradient(135deg,#7f1d1d80,#2d0a12e6);border-color:#ef4444;box-shadow:0 0 0 1px #ef444424,0 18px 50px #7f1d1d2e}.ann.meal-ann .ann-dot{background:#7f1d1d;color:#fecdd3}.ann.meal-ann b,.ann.meal-ann span{color:#ffe4e6}.top-scroll-hint{width:100%;padding:12px 16px;border-radius:999px;border:1px solid #35517b;background:linear-gradient(135deg,#101c36,#132e45);color:#dbeafe;font-weight:900;text-align:center;letter-spacing:.02em}.copy-panel pre{font-size:18px;line-height:1.55;background:#06121f}.ann.meal-ann{background:linear-gradient(135deg,#7f1d1d94,#300a14eb);border-color:#ef4444}.admin-notify{border-color:#f59e0b;background:linear-gradient(135deg,#78350f52,#0a1326eb)}.request-list{display:flex;flex-direction:column;gap:14px}.request-card{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid #6b4a20;background:#111827;border-radius:18px}.request-card p{margin:6px 0;color:#fde68a}.request-card small{color:#cbd5e1}.form3 select{min-height:46px}@media (max-width:900px){.request-card{flex-direction:column}}.ann span{white-space:pre-line;line-height:1.55}.ann b{margin-bottom:4px}.copy-panel pre{white-space:pre-line;line-height:1.6}.dynamic-mealgrid{grid-template-columns:1fr}@media (min-width: 1500px){.dynamic-mealgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.setting-card{border:1px solid #2d4268;background:#0b1630;border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:12px}.toggle-row{display:flex;align-items:center;gap:8px;width:auto;color:#dbeafe;font-weight:900}.toggle-row input{width:auto}.ribbon-card{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.error-screen{min-height:100vh;background:#050910;color:#fff;display:grid;place-content:center;gap:14px;padding:30px;font-family:Inter,system-ui,sans-serif}.error-screen pre{max-width:900px;overflow:auto;color:#fecdd3}.mini-pre{white-space:pre-line;font-size:13px;line-height:1.35;margin:0;padding:10px}@media print{.sidebar,.topcards,button{display:none!important}.app{display:block}.main{padding:0}body{background:#fff;color:#000}}.sidebar{height:100vh;overflow-y:auto;overflow-x:hidden;padding-bottom:14px;scrollbar-width:thin}.sidebar .wide{flex-shrink:0}.sidebar .note{margin-top:12px!important;flex-shrink:0}.nav{flex-shrink:0}@media (min-height: 760px){.sidebar{gap:12px}}@media (max-height: 820px){.sidebar{gap:8px;padding-top:10px}.brand .logo{width:40px;height:40px;font-size:20px}.loginbox{padding:12px 14px;border-radius:18px}.nav{padding:10px 14px;border-radius:12px}.wide{padding:10px 14px}.note{padding:12px;font-size:13px}}@media (max-height: 680px){.note{display:none}}.form3 label{color:#dbeafe;font-weight:700}.panel input:disabled{opacity:.85}.main>.space,.main>.panel{display:block}.space{min-height:120px}.login-btn-fix,.mini-login{position:relative;z-index:50;pointer-events:auto}.mini-login{margin-top:10px;width:100%;padding:8px 10px;border-radius:12px;border:1px solid #384b78;background:#1b2852;color:#fff;font-weight:800}.modal,.overlay,.login-modal{z-index:9999!important}.login-page{max-width:560px;margin:30px auto 0}.login-panel{padding:30px}.login-form{display:flex;flex-direction:column;gap:18px}.login-form label{color:#dbeafe;font-weight:800;display:flex;flex-direction:column;gap:8px}.bad-text{color:#fecdd3;font-weight:900;background:#7f1d1d59;border:1px solid rgba(248,113,113,.35);padding:10px 12px;border-radius:12px}.modal-backdrop{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:22px;background:#020617b8;backdrop-filter:blur(10px)}.login-modal-card{width:min(460px,96vw);border:1px solid #33446c;background:linear-gradient(145deg,#101827,#0b1120);border-radius:28px;padding:24px;box-shadow:0 40px 90px #0000008c}.close-btn{width:42px;height:42px;padding:0;font-size:24px;line-height:1}.demo-box{margin-top:18px;padding:14px;border:1px solid #263a62;border-radius:16px;background:#0b1530;display:flex;flex-direction:column;gap:5px;color:#cbd5e1}.demo-box b{color:#86efac}.modal-backdrop input{position:relative;z-index:100000}input[type=checkbox]{width:auto;min-width:18px;height:18px}.command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.wide-textarea{width:100%;min-height:130px;border:1px solid #293548;background:#090e16;color:#f8fafc;border-radius:14px;padding:14px;font:inherit}.setup-panel{border-color:#22c55e;background:linear-gradient(135deg,#14532d59,#0a1326e6)}.note{display:none!important}.warn-panel{border-color:#f97316;background:#7c2d1238}
