:root{--pink-50:#fdf2f8;--pink-100:#fce7f3;--pink-200:#fbcfe8;--pink-300:#f9a8d4;--pink-400:#f472b6;--pink-500:#ec4899;--pink-600:#db2777;--primary:#ff9a9e;--primary-dark:#ff6b81;--text:#4a4a4a;--sub:#888;--border:#ebeef5;--white:#fff;--status-free:#2ecc71;--status-busy:#ff9a9e;--status-booked:#3498db;--status-maintain:#95a5a6}*{box-sizing:border-box}html,body,#app{min-height:100%;color:var(--text);margin:0;font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{background:linear-gradient(145deg,#fff7fb 0%,#fce7f3 50%,#fff 100%);place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-decoration{filter:blur(2px);border-radius:50%;position:absolute}.login-decoration.one{background:#f9a8d442;width:420px;height:420px;top:-110px;left:-130px}.login-decoration.two{background:#ff9a9e29;width:520px;height:520px;bottom:-180px;right:-180px}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:#ffffffe0;border:1px solid #fffc;border-radius:24px;width:420px;padding:42px 46px;position:relative;box-shadow:0 24px 70px #db277724}.brand-mark{background:linear-gradient(135deg,var(--pink-300),var(--pink-500));color:#fff;border-radius:22px;place-items:center;width:72px;height:72px;margin:0 auto 16px;font-size:38px;display:grid;box-shadow:0 10px 24px #ec489947}.login-card h1{color:#3f3f46;margin:0 0 7px;font-size:25px}.login-card>p{color:#a1a1aa;margin:0 0 30px;font-size:14px}.login-card form{text-align:left}.login-card label{color:#71717a;margin:16px 0 7px;font-size:13px;display:block}.login-card input{background:#fffafd;border:1px solid #f5d6e5;border-radius:10px;outline:none;width:100%;height:46px;padding:0 14px}.login-card input:focus{border-color:var(--pink-400);box-shadow:0 0 0 3px #f9a8d42e}.login-card form button{background:linear-gradient(135deg,var(--pink-300),var(--pink-500));color:#fff;letter-spacing:5px;border:0;border-radius:10px;width:100%;height:46px;margin-top:24px;font-weight:600;box-shadow:0 6px 16px #ec489940}.login-card form button:disabled{opacity:.7}.login-tip{color:#a1a1aa;margin-top:18px;font-size:12px}.app-shell{background:#f7f8fb;min-height:100vh}.sidebar{z-index:20;background:linear-gradient(#fff 0%,#fff8fb 100%);border-right:1px solid #fae9f1;flex-direction:column;width:230px;transition:all .25s;display:flex;position:fixed;inset:0 auto 0 0}.side-brand{border-bottom:1px solid #fae9f1;align-items:center;gap:12px;height:78px;padding:0 22px;display:flex}.brand-icon{background:linear-gradient(135deg,var(--pink-300),var(--pink-500));color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:24px;display:grid}.side-brand b{color:#444;font-size:15px}.side-brand small,.side-foot small{color:#aaa;margin-top:4px;font-size:11px;display:block}.sidebar nav{flex:1;padding:20px 12px}.sidebar nav button{color:#777;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:14px;width:100%;height:48px;margin-bottom:8px;padding:0 15px;transition:all .2s;display:flex}.sidebar nav button span{text-align:center;width:23px;font-size:20px}.sidebar nav button em{font-style:normal}.sidebar nav button:hover{color:var(--pink-500);background:#fff0f6}.sidebar nav button.active{color:#be185d;background:linear-gradient(135deg,#fbcfe8,#f9a8d4);font-weight:600;box-shadow:0 5px 12px #f9a8d433}.side-foot{border-top:1px solid #fae9f1;align-items:center;gap:10px;height:74px;padding:0 20px;display:flex}.avatar{width:36px;height:36px;color:var(--pink-600);background:#ffe4f0;border-radius:50%;place-items:center;font-weight:700;display:grid}.side-foot b{font-size:13px}.main-shell{min-height:100vh;margin-left:230px;transition:all .25s}.topbar{z-index:15;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-bottom:1px solid #f0edf0;justify-content:space-between;align-items:center;height:78px;padding:0 28px;display:flex;position:sticky;top:0}.top-left{align-items:center;gap:15px;display:flex}.collapse-btn{color:var(--pink-500);background:#fff5f9;border:0;border-radius:8px;width:38px;height:38px;font-size:18px}.topbar h2{color:#444;margin:0;font-size:18px}.topbar p{color:#aaa;margin:4px 0 0;font-size:11px}.top-actions{align-items:center;gap:16px;display:flex}.clock{color:#aaa;font-size:12px}.top-actions button{color:var(--pink-500);background:#fff;border:1px solid #f6d6e5;border-radius:7px;padding:7px 13px}.workspace{min-width:0;padding:20px}.collapsed .sidebar{width:76px}.collapsed .side-brand{padding:0 18px}.collapsed .side-brand div,.collapsed .sidebar nav em,.collapsed .side-foot div{display:none}.collapsed .sidebar nav button{justify-content:center;padding:0}.collapsed .side-foot{justify-content:center}.collapsed .main-shell{margin-left:76px}.prototype-page{min-height:calc(100vh - 118px)}.global-toast{z-index:4000;color:#444;background:#fff;border-left:4px solid #10b981;border-radius:10px;min-width:250px;padding:13px 18px;position:fixed;top:92px;right:28px;box-shadow:0 12px 38px #00000026}.global-toast.error{border-color:#ef4444}.global-toast span{color:#fff;background:#10b981;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:9px;display:inline-grid}.global-toast.error span{background:#ef4444}.toast-enter-active,.toast-leave-active{transition:all .25s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(30px)}.room-page{color:#333;background:#f5f7fa;margin:-20px;padding:20px}.room-toolbar{background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:16px 20px;display:flex;box-shadow:0 2px 10px #0000000a}.toolbar-left,.toolbar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-btn{border:1px solid var(--border);color:#666;background:#fff;border-radius:6px;padding:7px 16px;font-size:13px}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.room-toolbar select,.search-input{border:1px solid var(--border);background:#fff;border-radius:6px;outline:none;padding:7px 12px;font-size:13px}.room-toolbar select:focus,.search-input:focus{border-color:var(--primary)}.room-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:0;border-radius:6px;padding:8px 18px;font-size:13px;font-weight:500;box-shadow:0 4px 10px #ff9a9e4d}.room-primary:hover{transform:translateY(-1px)}.view-toggle{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.view-toggle button{color:#666;background:#fff;border:0;padding:7px 14px;font-size:13px}.view-toggle button+button{border-left:1px solid var(--border)}.view-toggle button.active{background:var(--primary);color:#fff}.floor-section{margin-bottom:24px}.floor-title{color:#555;border-left:3px solid var(--primary);margin-bottom:12px;padding-left:10px;font-size:15px;font-weight:600}.room-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.room-card{background:#fff;border-top:3px solid #ccc;border-radius:8px;flex-direction:column;justify-content:space-between;height:120px;padding:14px;transition:all .3s;display:flex;position:relative;box-shadow:0 2px 8px #0000000a}.room-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000014}.room-card.status-free{border-top-color:var(--status-free)}.room-card.status-busy{border-top-color:var(--status-busy)}.room-card.status-booked{border-top-color:var(--status-booked)}.room-card.status-maintain{border-top-color:var(--status-maintain)}.room-card .card-header{justify-content:space-between;align-items:center;display:flex}.room-card .card-header strong{font-size:20px}.room-card .card-header span{color:#fff;border-radius:10px;padding:2px 10px;font-size:12px}.status-free .card-header span,.bg-free{background:var(--status-free)}.status-busy .card-header span,.bg-busy{background:var(--status-busy)}.status-booked .card-header span,.bg-booked{background:var(--status-booked)}.status-maintain .card-header span,.bg-maintain{background:var(--status-maintain)}.room-card .card-body{color:#888;font-size:13px;line-height:1.6}.room-card .card-body b{color:#555}.card-delete{color:#fff;background:#ff4d4f;border:0;border-radius:4px;padding:1px 7px;font-size:11px;position:absolute;bottom:5px;right:5px}.room-list{background:#fff;border-radius:10px;padding:20px;overflow-x:auto;box-shadow:0 2px 10px #0000000a}.room-list table{border-collapse:collapse;width:100%;min-width:1000px;font-size:13px}.room-list th{text-align:left;color:#666;border-bottom:2px solid var(--border);white-space:nowrap;background:#fafafa;padding:12px 14px}.room-list td{border-bottom:1px solid var(--border);padding:12px 14px}.room-list tr:hover{background:#fdf8f9}.table-status{color:#fff;border-radius:4px;padding:3px 10px;font-size:12px;display:inline-block}.thumb-img{object-fit:cover;cursor:pointer;border:1px solid var(--border);border-radius:4px;width:36px;height:36px}.room-list i{color:#ccc;font-style:normal}.mini-edit,.mini-delete{color:#fff;border:0;border-radius:4px;padding:4px 9px;font-size:12px}.mini-edit{background:#f9a8d4;margin-right:5px}.mini-delete{background:#ff4d4f}.loading-state,.empty-state{text-align:center;color:#999;padding:70px}.modal-overlay,.image-preview{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.room-modal{background:#fff;border-radius:12px;width:580px;max-height:90vh;padding:28px;animation:.3s slideUp;overflow-y:auto;box-shadow:0 10px 30px #00000026}.modal-header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.modal-header h3{margin:0;font-size:17px}.modal-header button{color:#999;background:0 0;border:0;font-size:22px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.room-modal label{color:#555;flex-direction:column;margin-bottom:16px;font-size:13px;font-weight:500;display:flex}.room-modal label em{color:#e74c3c;font-style:normal}.room-modal input,.room-modal select,.room-modal textarea{border:1px solid var(--border);background:#fff;border-radius:6px;outline:none;width:100%;margin-top:6px;padding:8px 12px;font-size:13px}.room-modal input:focus,.room-modal select:focus,.room-modal textarea:focus{border-color:var(--primary)}.upload-label{margin-bottom:6px!important}.upload-area{gap:16px;margin-bottom:16px;display:flex}.upload-box{border:2px dashed var(--border);cursor:pointer;border-radius:8px;justify-content:center;min-height:100px;padding:12px;position:relative;flex:1!important;align-items:center!important}.upload-box input{display:none}.upload-box>span{font-size:24px}.upload-box small{color:#888}.upload-box img{object-fit:cover;border-radius:4px;width:100%;height:80px}.upload-box button{color:#fff;background:#e74c3c;border:0;border-radius:50%;width:21px;height:21px;position:absolute;top:5px;right:5px}.remark-label textarea{resize:vertical;min-height:60px}.modal-footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.modal-footer .cancel{color:#666;background:#f5f5f5;border:0;border-radius:6px;padding:8px 20px}.image-preview{z-index:2000;background:#000000bf}.image-preview img{border-radius:8px;max-width:85%;max-height:85%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}}.booking-page{background:var(--pink-50);margin:-20px;padding:20px}.stats-panel{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:15px;margin-bottom:20px;display:grid}.stat-card{color:#fff;text-align:center;border-radius:12px;padding:20px 15px;transition:all .3s;box-shadow:0 4px 12px #f472b626}.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #f472b640}.stat-card .label{margin-bottom:8px;font-size:14px;font-weight:600}.stat-card .value{font-size:28px;font-weight:700}.stat-card:first-child,.stat-card:nth-child(5){background:linear-gradient(135deg,#f9a8d4,#f472b6)}.stat-card:nth-child(2),.stat-card:nth-child(6){color:var(--pink-500);background:linear-gradient(135deg,#fbcfe8,#f9a8d4)}.stat-card:nth-child(3){background:linear-gradient(135deg,#f472b6,#ec4899)}.stat-card:nth-child(4){background:linear-gradient(135deg,#fda4af,#fb7185)}.stat-card:nth-child(7){background:linear-gradient(135deg,#ec4899,#db2777)}.search-panel{border:1px solid var(--pink-100);background:#fff;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 2px 12px #fce7f399}.search-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:center;gap:15px;display:grid}.search-grid label{color:var(--pink-500);font-size:12px;font-weight:500}.search-grid input,.search-grid select{border:1px solid var(--pink-100);background:var(--pink-50);width:100%;color:var(--text);border-radius:6px;outline:none;margin-top:5px;padding:8px 12px;display:block}.search-grid input:focus,.search-grid select:focus{border-color:var(--pink-300);background:#fff;box-shadow:0 0 0 3px #f9a8d433}.search-buttons{align-self:end;gap:10px;display:flex}.search-buttons button{color:#fff;background:var(--pink-400);border:0;border-radius:6px;padding:8px 16px}.search-buttons button+button{color:#6b7280;background:#f3f4f6}.tab-wrapper{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.tab-bar{gap:12px;display:flex}.tab-bar button{border:1px solid var(--pink-100);color:var(--sub);background:#fff;border-radius:20px;padding:8px 20px;font-size:14px}.tab-bar button.active{background:linear-gradient(135deg,var(--pink-300),var(--pink-400));color:#fff;border-color:#0000;box-shadow:0 4px 10px #f472b64d}.btn-add,.btn-export{border:0;border-radius:6px;margin-left:10px;padding:8px 16px;font-size:13px}.btn-add{background:var(--pink-400);color:#fff;box-shadow:0 2px 8px #f472b64d}.btn-export{background:var(--pink-200);color:var(--pink-600)}.booking-table{border:1px solid var(--pink-100);background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 2px 12px #fce7f399}.booking-table table{border-collapse:collapse;width:100%;min-width:1470px}.booking-table th{background:var(--pink-400);text-align:left;color:#fff;white-space:nowrap;padding:14px 12px;font-size:13px}.booking-table td{border-bottom:1px solid var(--pink-50);white-space:nowrap;padding:14px 12px;font-size:13px}.booking-table tr:hover{background:#fff0f6}.booking-table th:last-child,.booking-table td:last-child{background:inherit;z-index:10;position:sticky;right:0;box-shadow:-4px 0 12px #f472b614}.booking-table th:last-child{background:var(--pink-400)}.booking-table tr:hover td:last-child{background:#fff0f6}.method-tag{border-radius:12px;padding:4px 10px;font-size:12px;display:inline-block}.method-tag.offline{color:#be185d;background:#fce7f3}.method-tag.phone{color:#a21caf;background:#fae8ff}.method-tag.online{color:#e11d48;background:#ffe4e6}.special-mark{background:var(--pink-400);border-radius:50%;width:8px;height:8px;margin-left:6px;animation:1.5s infinite pulse;display:inline-block}.status-booked{color:var(--pink-500);font-weight:700}.status-pending{color:#f59e0b;font-weight:700}.status-none{color:#9ca3af}.specialText{color:#e11d48;font-weight:700}.link-btn{color:var(--pink-500);background:0 0;border:0;margin-right:8px;font-size:12px;font-weight:700}.row-edit,.row-delete{border:0;border-radius:4px;padding:4px 10px;font-size:12px}.row-edit{background:var(--pink-300);color:#fff;margin-right:6px}.row-delete{color:#e11d48;background:#fecdd3}.pagination{color:var(--sub);justify-content:flex-end;align-items:center;gap:8px;padding:15px 20px;font-size:13px;display:flex}.pagination button{border:1px solid var(--pink-100);color:var(--pink-500);background:#fff;border-radius:6px;padding:6px 12px}.pagination button.active{background:var(--pink-400);color:#fff}.empty-cell{text-align:center;color:#aaa!important;padding:50px!important}@keyframes pulse{0%{box-shadow:0 0 #f472b6b3}50%{box-shadow:0 0 0 4px #f472b600}to{box-shadow:0 0 #f472b600}}.reservation-overlay,.record-overlay{z-index:2000;background:#4826377a;padding:25px;position:fixed;inset:0;overflow:auto}.reservation-dialog{background:var(--pink-50);border-radius:18px;max-width:1420px;min-height:calc(100vh - 50px);margin:0 auto 40px;padding:28px 45px 45px;box-shadow:0 24px 80px #3c142847}.reservation-head{text-align:center;margin-bottom:25px;position:relative}.reservation-head h1{color:var(--pink-600);margin:0 0 10px;font-size:28px}.reservation-head p{color:var(--sub);margin:0;font-size:14px}.reservation-head>button{color:#999;background:#fff;border:0;border-radius:50%;width:38px;height:38px;font-size:24px;position:absolute;top:-8px;right:0;box-shadow:0 3px 12px #00000014}.step-progress{justify-content:center;align-items:center;margin-bottom:20px;display:flex}.step{flex-direction:column;align-items:center;width:180px;display:flex}.step-circle{border:3px solid var(--pink-200);width:45px;height:45px;color:var(--pink-300);background:#fff;border-radius:50%;place-items:center;margin-bottom:12px;font-size:20px;font-weight:700;transition:all .3s;display:grid}.step.active .step-circle{background:linear-gradient(135deg,var(--pink-400),var(--pink-500));border-color:var(--pink-400);color:#fff;box-shadow:0 4px 12px #f472b666}.step.completed .step-circle{background:var(--pink-300);border-color:var(--pink-300);color:#fff}.step-label{color:var(--sub);font-size:14px;font-weight:500}.step.active .step-label{color:var(--pink-500);font-weight:600}.step-line{background:var(--pink-200);width:100px;height:3px;margin:0 10px 40px}.step-line.completed{background:var(--pink-300)}.reservation-dialog .form-container{border:1px solid var(--pink-100);background:#fff;border-radius:16px;min-height:580px;padding:45px 55px;box-shadow:0 4px 20px #fce7f380}.section-title{color:var(--pink-600);border-bottom:2px solid var(--pink-100);margin:0 0 30px;padding-bottom:15px;font-size:20px}.reservation-dialog .form-grid{grid-template-columns:repeat(3,1fr);gap:25px 40px;margin-bottom:30px;display:grid}.reservation-dialog .form-grid>label,.deposit-grid>label{color:var(--text);flex-direction:column;gap:9px;font-size:14px;font-weight:500;display:flex}.reservation-dialog label.full{grid-column:1/-1}.reservation-dialog label span{color:#ef4444;font-size:16px}.reservation-dialog label small{background:var(--pink-100);width:max-content;color:var(--pink-600);border-radius:10px;padding:2px 8px;font-size:11px;display:inline-block}.reservation-dialog input,.reservation-dialog select,.reservation-dialog textarea{border:1.5px solid var(--pink-100);background:var(--pink-50);border-radius:8px;outline:none;width:100%;padding:12px 16px;font-size:14px}.reservation-dialog input:focus,.reservation-dialog select:focus,.reservation-dialog textarea:focus{border-color:var(--pink-400);background:#fff;box-shadow:0 0 0 3px #f9a8d433}.reservation-dialog input:read-only{color:var(--sub);background:#f9fafb}.reservation-dialog textarea{resize:vertical;min-height:100px}.input-with-btn{gap:10px;display:flex}.input-with-btn button{background:linear-gradient(135deg,var(--pink-300),var(--pink-400));color:#fff;white-space:nowrap;border:0;border-radius:8px;padding:12px 20px;font-size:13px;font-weight:600}.deposit-section{background:var(--pink-50);border:1.5px solid var(--pink-100);border-radius:12px;margin-top:20px;padding:25px}.deposit-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.deposit-header h4{color:var(--pink-600);margin:0;font-size:16px}.deposit-header button{background:var(--pink-400);color:#fff;border:0;border-radius:6px;padding:8px 16px;font-size:13px}.deposit-item{border:1px solid var(--pink-100);background:#fff;border-radius:8px;margin-bottom:15px;padding:20px;position:relative}.deposit-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.remove-deposit{color:#e11d48;background:#fecdd3;border:0;border-radius:50%;width:28px;height:28px;font-size:18px;position:absolute;top:10px;right:10px}.form-actions{border-top:2px solid var(--pink-100);justify-content:space-between;align-items:center;margin-top:40px;padding-top:30px;display:flex}.form-actions button{border:0;border-radius:8px;padding:14px 32px;font-size:15px;font-weight:600}.form-actions>div{gap:15px;display:flex}.form-actions .prev{color:var(--sub);background:#f3f4f6}.form-actions .save-draft{color:var(--pink-500);background:#fff0f6}.form-actions .next{background:linear-gradient(135deg,var(--pink-400),var(--pink-500));color:#fff;box-shadow:0 4px 12px #f472b666}.form-actions .submit{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98166}.record-overlay{z-index:2500}.record-container{background:#fff;border:1px solid #ffe4e1;border-radius:15px;max-width:1100px;margin:0 auto;padding:40px;position:relative;box-shadow:0 4px 30px #1e0a144d}.record-close{color:#d63384;background:#fff0f5;border:0;border-radius:50%;width:38px;height:38px;font-size:22px;position:absolute;top:20px;right:20px}.record-container h1{text-align:center;color:#ff69b4;margin:0 0 5px;font-size:28px}.record-container .subtitle{text-align:center;color:#ffb6c1;margin:0 0 30px;font-size:14px}.profile-card{background:linear-gradient(135deg,#ffe4e1,#fff0f5);border:1px dashed #ffb6c1;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px;padding:20px 30px;display:grid}.profile-card label{color:#d63384;margin-bottom:5px;font-size:13px;font-weight:700;display:block}.profile-card span{color:#333;font-size:16px}.overview-card{text-align:center;background:#fff9fa;border:1px solid #ffe4e1;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px;padding:20px;display:grid}.overview-card h3{color:#ff69b4;margin:0 0 5px;font-size:14px}.overview-card p{color:#d63384;margin:0;font-size:20px;font-weight:700}.record-container h2{color:#d63384;border-left:4px solid #ff69b4;padding-left:10px;font-size:18px}.record-container table{border-collapse:collapse;width:100%;margin-top:20px;font-size:14px}.record-container th,.record-container td{text-align:center;border:1px solid #ffe4e1;padding:12px 15px}.record-container th{color:#fff;background:#ffb6c1}.record-container tr:nth-child(2n){background:snow}.record-note{color:#666;text-align:left!important}.record-footer{text-align:right;color:#aaa;margin-top:28px;font-size:12px}.system-page{max-width:1300px;margin:auto}.system-hero{background:linear-gradient(120deg,#fff,#fff0f7);border:1px solid #f9dbe9;border-radius:18px;justify-content:space-between;align-items:center;height:150px;padding:28px 35px;display:flex;box-shadow:0 7px 28px #ec489914}.system-hero>div{padding-left:70px;position:relative}.system-hero>div>span{background:linear-gradient(135deg,var(--pink-300),var(--pink-500));color:#fff;border-radius:15px;place-items:center;width:52px;height:52px;font-size:26px;display:grid;position:absolute;top:5px;left:0}.system-hero h2{margin:0 0 8px;font-size:24px}.system-hero p{color:#999;margin:0}.system-hero button,.management-placeholder button{background:var(--pink-400);color:#fff;border:0;border-radius:8px;padding:10px 18px}.system-stats{grid-template-columns:repeat(6,1fr);gap:14px;margin:18px 0;display:grid}.system-stats div{text-align:center;background:#fff;border:1px solid #f4e9ef;border-radius:12px;padding:18px}.system-stats b{color:var(--pink-500);font-size:25px;display:block}.system-stats span{color:#999;font-size:12px}.system-tabs{background:#fff;border:1px solid #f2e6ed;border-radius:12px;gap:8px;margin-bottom:15px;padding:10px;display:flex;overflow:auto}.system-tabs button{color:#777;white-space:nowrap;background:#fafafa;border:0;border-radius:8px;padding:9px 17px}.system-tabs button.active{color:var(--pink-500);background:#fff0f6;font-weight:700}.system-content{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.dictionary-card{background:#fff;border:1px solid #f4e8ef;border-radius:12px;grid-template-columns:140px 1fr;gap:16px;padding:18px 20px;display:grid}.dictionary-card b{color:#555;display:block}.dictionary-card small{color:#aaa}.dictionary-card p{flex-wrap:wrap;gap:7px;margin:0;display:flex}.dictionary-card p span{color:#b72d73;background:#fff0f7;border-radius:12px;padding:4px 9px;font-size:12px}.management-placeholder{color:#888;background:#fff;border:1px solid #f4e8ef;border-radius:16px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;min-height:320px;display:flex}.placeholder-icon{color:#f9a8d4;font-size:55px}.management-placeholder h3{color:#555;margin:10px 0}.management-placeholder p{margin:0 0 22px}@media (width<=900px){.sidebar{width:76px}.side-brand{padding:0 18px}.side-brand div,.sidebar nav em,.side-foot div{display:none}.sidebar nav button{justify-content:center;padding:0}.main-shell{margin-left:76px}.clock{display:none}.room-toolbar,.tab-wrapper{align-items:flex-start}.reservation-overlay{padding:0}.reservation-dialog{border-radius:0;padding:22px 15px}.reservation-dialog .form-container{padding:25px 18px}.reservation-dialog .form-grid,.deposit-grid{grid-template-columns:1fr}.profile-card,.overview-card{grid-template-columns:repeat(2,1fr)}.system-stats{grid-template-columns:repeat(3,1fr)}.system-content,.dictionary-card{grid-template-columns:1fr}.login-card{width:calc(100% - 30px)}}.reservation-dialog .form-grid>label,.reservation-dialog .deposit-grid>label{display:block}.reservation-dialog .form-grid>label>input,.reservation-dialog .form-grid>label>select,.reservation-dialog .form-grid>label>textarea,.reservation-dialog .deposit-grid>label>input,.reservation-dialog .deposit-grid>label>select,.reservation-dialog .input-with-btn{margin-top:9px}.system-list{background:#fff;border:1px solid #f4e8ef;border-radius:14px;overflow:hidden}.system-list-head{border-bottom:1px solid #f5eaf0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.system-list-head h3{margin:0 0 5px}.system-list-head p{color:#aaa;margin:0;font-size:12px}.system-list-head>button{background:var(--pink-400);color:#fff;border:0;border-radius:7px;padding:9px 15px}.system-list table{border-collapse:collapse;width:100%}.system-list th,.system-list td{text-align:left;border-bottom:1px solid #f8edf3;padding:13px 18px;font-size:13px}.system-list th{color:#b72d73;background:#fff8fb}.system-list code{color:#777;background:#f7f7f8;border-radius:4px;padding:3px 7px}.system-list td span.enabled,.system-list td span.disabled{border-radius:11px;padding:3px 9px;font-size:12px;display:inline-block}.system-list td span.enabled{color:#15803d;background:#dcfce7}.system-list td span.disabled{color:#64748b;background:#f1f5f9}.system-list td button{color:#be185d;background:#fce7f3;border:0;border-radius:5px;margin-right:6px;padding:5px 10px}.system-list td button.danger{color:#e11d48;background:#ffe4e6}.system-modal{background:#fff;border-radius:14px;width:480px;padding:26px;box-shadow:0 18px 60px #0003}.system-modal>label{color:#555;margin-bottom:15px;font-size:13px;display:block}.system-modal label em{color:#e11d48;font-style:normal}.system-modal input,.system-modal textarea{border:1px solid #f2dce7;border-radius:7px;outline:none;width:100%;margin-top:7px;padding:10px 12px;display:block}.system-modal textarea{resize:vertical;min-height:80px}.system-modal input:focus,.system-modal textarea:focus{border-color:var(--pink-400)}.system-modal .switch-line{justify-content:space-between;align-items:center;display:flex}.system-modal .switch-line input{width:18px;height:18px;margin:0}.system-modal .modal-footer{margin-top:18px}.module-page{min-height:calc(100vh - 115px)}.page-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-heading h1{color:#4b2a3a;margin:0 0 6px;font-size:24px}.page-heading p{color:#9b7a8b;margin:0}.page-heading input,.query-bar input{border:1px solid var(--pink-100);background:#fff;border-radius:7px;padding:9px 12px}.primary{background:linear-gradient(135deg,var(--pink-400),var(--pink-500))!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:10px 18px!important}.panel{border:1px solid var(--pink-100);background:#fff;border-radius:14px;padding:20px;box-shadow:0 3px 15px #be185d0f}.metric-grid,.report-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:20px;display:grid}.metric-grid article,.report-grid article{border:1px solid var(--pink-100);background:linear-gradient(145deg,#fff,#fff3f8);border-radius:14px;padding:20px}.metric-grid span,.report-grid span{color:#9b7285;font-size:13px;display:block}.metric-grid b,.report-grid b{color:var(--pink-500);margin-top:8px;font-size:27px;display:block}.dashboard-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.dashboard-grid .wide{grid-column:1/-1}.chart{height:300px}.notice{border-bottom:1px solid #f8e5ee;gap:4px;padding:11px 0;display:grid}.notice span,.notice small{color:#987789;font-size:12px}.service-summary{text-align:center;grid-template-columns:repeat(4,1fr);display:grid}.service-summary b{color:var(--pink-500);font-size:25px;display:block}.service-summary span{color:#999;font-size:13px}.query-bar{border:1px solid var(--pink-100);background:#fff;border-radius:12px;gap:10px;margin-bottom:18px;padding:15px;display:flex}.query-bar input{min-width:320px}.query-bar button,.data-table button,.person-card button,.plan-card button,.actions>button{color:#be185d;background:#fff0f6;border:0;border-radius:6px;padding:7px 13px}.danger-soft{color:#e11d48!important;background:#ffe4e6!important}.people-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.person-card{border:1px solid var(--pink-100);background:#fff;border-radius:14px;padding:20px}.person-card>div{grid-template-columns:54px 1fr;align-items:center;display:grid}.person-card h3{margin:0}.person-card em{color:#10b981;font-size:12px;font-style:normal}.avatar.big{grid-row:1/3;width:46px;height:46px}.person-card p{color:#777;font-size:13px}.person-card footer,.plan-card footer{justify-content:flex-end;gap:8px;display:flex}.data-table{border:1px solid var(--pink-100);background:#fff;border-radius:14px;overflow:auto}.data-table table,.timeline table{border-collapse:collapse;width:100%}.data-table th,.data-table td,.timeline th,.timeline td{text-align:left;white-space:nowrap;border-bottom:1px solid #f7e7ef;padding:12px 14px;font-size:13px}.data-table th,.timeline th{color:#be185d;background:#fff4f8}.pill{color:#be185d;background:#fff0f6;border-radius:12px;padding:4px 9px;font-size:12px;display:inline-block}.business-modal{background:#fff;border-radius:14px;width:650px;max-height:85vh;padding:25px;overflow:auto}.compact-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.compact-form label,.actions label{color:#555;font-size:13px}.compact-form input,.compact-form select,.actions input{border:1px solid var(--pink-100);border-radius:7px;width:100%;margin-top:6px;padding:9px 11px;display:block}.work-layout{grid-template-columns:240px 1fr 270px;gap:15px;display:grid}.queue>button,.run-item{text-align:left;background:#fff;border:0;border-bottom:1px solid #f7e6ee;width:100%;padding:12px}.queue>button span,.run-item span{color:#999;margin-top:4px;font-size:11px;display:block}.queue>button.chosen{background:#fff0f6}.queue-line{border-bottom:1px solid #f5e5ed;justify-content:space-between;padding:10px 0;font-size:12px;display:flex}.work-room-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;display:grid}.work-room{text-align:left;background:#f3f4f6;border:2px solid #0000;border-radius:12px;min-height:110px;padding:14px}.work-room strong,.work-room small,.work-room em{display:block}.work-room strong{font-size:20px}.work-room small{color:#777;margin:7px 0}.work-room em{font-size:11px;font-style:normal}.work-room.state-free{background:#ecfdf5}.work-room.state-busy{background:#fff0f6}.work-room.state-booked{background:#fffbeb}.work-room.state-cleaning{background:#eff6ff}.work-room.state-maintain{background:#fff1f2}.work-room.chosen{border-color:var(--pink-500)}.room-legends{color:#777;gap:14px;margin-bottom:15px;font-size:12px;display:flex}.actions{flex-direction:column;gap:10px;display:flex}.allocation-layout{grid-template-columns:240px 1fr;gap:16px;display:grid}.plan-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.plan-card header{justify-content:space-between;display:flex}.plan-card h3{margin:0}.plan-kpi{grid-template-columns:1fr 1fr;gap:4px;margin:18px 0;display:grid}.plan-kpi b{color:var(--pink-500)}.plan-kpi span{color:#999;font-size:11px}.plan-card details{min-height:90px;font-size:12px}.report-grid{grid-template-columns:repeat(5,1fr)}@media (width<=1100px){.work-layout,.allocation-layout,.plan-grid,.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .wide{grid-column:auto}.report-grid{grid-template-columns:repeat(2,1fr)}}.prototype-shell .sidebar nav button em{display:inline}.prototype-shell{background:#f0f2f5}.prototype-shell .sidebar{background:#fff;border-right:1px solid #eee;width:220px}.prototype-shell .side-brand{white-space:nowrap;border-bottom:1px solid #eee;height:60px;padding:0 44px}.prototype-shell .side-brand b{letter-spacing:2px;color:#ed76a4;font-size:20px}.prototype-shell .sidebar nav{padding:10px 0}.prototype-shell .sidebar nav button{color:#555;border-radius:0;gap:0;height:48px;margin:0;padding:0 32px;font-size:14px}.prototype-shell .sidebar nav button span{display:none}.prototype-shell .sidebar nav button:hover{background:#fff4f7}.prototype-shell .sidebar nav button.active{color:#e91e63;background:#fce8e8;font-weight:500;box-shadow:inset -3px 0 #e91e63}.prototype-shell .main-shell{margin-left:220px}.prototype-shell .topbar{background:#fff;border-bottom:1px solid #eee;height:60px;padding:0 25px}.prototype-breadcrumb{color:#666;font-size:14px}.prototype-breadcrumb b{color:#e85c91}.prototype-user{color:#333;align-items:center;gap:9px;display:flex}.prototype-user .avatar{color:#fff;background:#f5afc1;width:34px;height:34px}.prototype-user button{color:#999!important;background:0 0!important;border:0!important;padding:5px!important}.prototype-shell .workspace{background:#f0f2f5;min-height:calc(100vh - 60px);padding:20px}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.dash-header h1{color:#2c3e50;margin:0;font-size:24px}.dash-header-right{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.alert-box{color:#fff;border:0;border-radius:20px;padding:9px 15px;font-size:14px;font-weight:700}.alert-warning{background:#e74c3c}.alert-info{background:#3498db}.date-filter-box{background:#fff;border-radius:8px;align-items:center;gap:8px;padding:6px 14px;display:flex;box-shadow:0 1px 4px #0000000f}.date-filter-box label,.date-filter-box span{color:#666;font-size:13px}.date-filter-box input{border:1px solid #ddd;border-radius:6px;padding:6px 10px}.date-filter-box button{color:#fff;background:linear-gradient(135deg,#ff9a9e,#fecfef);border:0;border-radius:6px;padding:7px 18px}.dashboard-prototype .kpi-grid{grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:20px;display:grid}.dashboard-prototype .kpi-card{background:#fff;border-radius:10px;padding:20px;position:relative;overflow:hidden;box-shadow:0 2px 10px #0000000d}.dashboard-prototype .kpi-card:before{content:"";background:linear-gradient(#ff9a9e,#fecfef);width:5px;position:absolute;inset:0 auto 0 0}.kpi-title{color:#888;margin-bottom:10px;font-size:14px}.kpi-value{margin-bottom:8px;font-size:32px;font-weight:700}.kpi-trend{color:#e74c3c;gap:10px;font-size:12px;display:flex}.income-grid,.room-dashboard-grid,.bottom-grid{gap:20px;margin-bottom:20px;display:grid}.income-grid{grid-template-columns:2fr 1fr}.room-dashboard-grid{grid-template-columns:1fr 2fr}.bottom-grid{grid-template-columns:1fr 1fr}.dash-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000000d}.dash-card h3{border-left:4px solid #ff9a9e;margin:0 0 15px;padding-left:10px;font-size:16px}.chart-container{height:300px}.split-chart{height:300px;display:flex}.split-chart>div{width:50%;height:100%}.nurse-layout{height:260px;display:flex}.nurse-left{border-right:1px dashed #eee;flex-direction:column;justify-content:center;align-items:center;width:42%;display:flex}.nurse-left>b{color:#ff9a9e;font-size:42px}.nurse-left>span{color:#888;font-size:14px}.nurse-left small{margin-top:10px}.nurse-left i{color:#27ae60;font-style:normal}.nurse-left em{color:#e74c3c;font-style:normal}.nurse-left>div{width:100%;height:115px}.nurse-layout>#satisfaction{width:58%;height:260px}.prototype-business,.fee-prototype{color:#4a4a4a;background:#fff;min-height:calc(100vh - 100px);margin:-20px;padding:30px 40px}.business-page-header{border-bottom:2px solid #fce4ec;align-items:center;margin-bottom:25px;padding-bottom:15px;display:flex}.business-page-header h1{color:#e91e63;margin:0;font-size:22px}.business-search,.fee-search{background:#fff0f5;border:1px solid #f8bbd0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:25px;padding:20px;display:flex}.business-search label,.fee-search label{white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:flex}.business-search input,.business-search select,.fee-search input,.fee-search select{background:#fff;border:1px solid #f8bbd0;border-radius:6px;outline:0;min-width:150px;padding:8px 12px}.proto-btn{border-radius:6px;padding:8px 20px;font-size:14px}.proto-btn.solid{color:#fff;background:#e91e63;border:1px solid #e91e63}.proto-btn.outline{color:#e91e63;background:#fff;border:1px solid #e91e63}.business-view-toggle{border:1px solid #e91e63;border-radius:6px;margin-left:auto;display:flex;overflow:hidden}.business-view-toggle button{color:#e91e63;background:#fff;border:0;padding:8px 18px}.business-view-toggle button.active{color:#fff;background:#e91e63}.business-actions{gap:12px;margin-bottom:20px;display:flex}.matron-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.matron-card{background:#fff;border:1px solid #f8bbd0;border-radius:12px;padding:18px;position:relative;box-shadow:0 2px 12px #fce7f399}.matron-card .archive-id{color:#757575;background:#fff0f5;border-radius:20px;padding:3px 10px;font-size:12px;position:absolute;top:12px;right:16px}.matron-card header{gap:15px;margin-bottom:10px;display:flex}.matron-avatar{color:#e91e63;background:#fff0f5;border:2px solid #e91e63;border-radius:50%;place-items:center;width:56px;height:56px;font-size:24px;display:grid}.matron-card h3{color:#e91e63;margin:3px 0;font-size:17px}.matron-card header p{color:#757575;margin:0;font-size:13px}.matron-stats{text-align:center;background:#fff0f5;border-radius:8px;justify-content:space-between;margin-bottom:8px;padding:8px;font-size:12px;display:flex}.matron-stats span,.matron-stats b{display:block}.matron-stats b{color:#e91e63;margin-top:2px;font-size:14px}.matron-badges{flex-wrap:wrap;gap:6px;display:flex}.matron-badges span{color:#e91e63;background:#fff0f5;border:1px solid #f8bbd0;border-radius:20px;padding:2px 8px;font-size:11px}.matron-details{font-size:13px;line-height:1.65}.matron-details p{margin:6px 0}.current-service{background:#fff0f5;border-left:4px solid #e91e63;padding:9px}.matron-expand{color:#e91e63;background:#fff0f5;border:1px solid #f8bbd0;border-radius:6px;width:100%;margin-top:8px;padding:6px}.matron-card footer{border-top:1px dashed #f8bbd0;justify-content:flex-end;gap:7px;margin-top:8px;padding-top:8px;display:flex}.matron-card footer button,.table-edit,.table-delete{color:#e91e63;background:#fff;border:1px solid #e91e63;border-radius:4px;padding:5px 10px;font-size:12px}.matron-card footer .filled,.table-edit{color:#fff;background:#e91e63}.prototype-table{border:1px solid #fce7f3;border-radius:12px;overflow:auto;box-shadow:0 2px 12px #fce7f399}.prototype-table table{border-collapse:collapse;width:100%;min-width:900px;font-size:14px}.prototype-table th{text-align:left;color:#fff;white-space:nowrap;background:#e91e63;padding:14px 12px;font-weight:500}.prototype-table td{white-space:nowrap;border-bottom:1px solid #f8bbd0;padding:12px}.prototype-table tbody tr:nth-child(2n){background:#fff0f5}.prototype-table tbody tr:hover{background:#ffeef4}.table-delete{margin-left:6px}.proto-status{color:#e65100;background:#fff3e0;border-radius:20px;padding:3px 10px;font-size:12px;display:inline-block}.proto-status.confirmed{color:#2e7d32;background:#e8f5e9}.proto-pagination{color:#757575;justify-content:flex-end;align-items:center;gap:8px;padding:15px 0;font-size:13px;display:flex}.proto-pagination span{margin-right:auto}.proto-pagination button{color:#e91e63;background:#fff;border:1px solid #f8bbd0;border-radius:4px;padding:6px 12px}.proto-pagination button.active{color:#fff;background:#e91e63}.prototype-modal{background:#fff;border-top:4px solid #e91e63;border-radius:12px;width:650px;max-height:88vh;padding:30px;overflow:auto}.prototype-modal h3{color:#e91e63}.prototype-modal .compact-form input,.prototype-modal .compact-form select{border:1px solid #f8bbd0;border-radius:6px;width:100%;margin-top:6px;padding:9px;display:block}.workstation-prototype{background:#f4f7f9;min-height:calc(100vh - 100px);margin:-20px;padding:15px}.work-header{background:#fff;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:20px;margin-bottom:12px;padding:14px 18px;display:grid;box-shadow:0 2px 8px #0000000c}.work-header h1{color:#394b59;margin:0 0 3px;font-size:19px}.work-header>div>span{color:#999;font-size:12px}.work-filters{gap:8px;display:flex}.work-filters select,.work-filters button{color:#657786;background:#fff;border:1px solid #d9e1e7;border-radius:5px;padding:7px 9px}.work-filters .timeline-link{color:#e91e63;border-color:#f8bbd0}.work-summary{grid-template-columns:auto auto;align-items:center;gap:1px 8px;display:grid}.work-summary b{color:#e91e63;text-align:right}.work-summary span{color:#8996a0;font-size:11px}.urgent-strip{background:#fff2f2;border-left:4px solid #e74c3c;border-radius:6px;align-items:center;gap:20px;min-height:42px;margin-bottom:12px;padding:10px 16px;font-size:13px;display:flex}.urgent-strip strong{color:#d63c32}.work-main{grid-template-columns:245px minmax(460px,1fr) 280px;gap:12px;display:grid}.mother-queue,.room-control,.work-actions{background:#fff;border-radius:8px;min-height:670px;padding:14px;box-shadow:0 2px 8px #0000000c}.queue-tabs{border-bottom:1px solid #eee;display:flex}.queue-tabs button{color:#777;background:#fff;border:0;flex:1;padding:11px 3px;font-size:13px}.queue-tabs button.active{color:#e91e63;border-bottom:2px solid #e91e63}.queue-tabs b{background:#fce4ec;border-radius:10px;padding:1px 6px}.queue-list button{text-align:left;background:#fff;border:0;border-bottom:1px solid #f1f1f1;gap:4px;width:100%;padding:13px 10px;display:grid}.queue-list button.active{background:#fff0f5;border-left:3px solid #e91e63}.queue-list strong{color:#3e4d58}.queue-list span,.queue-list small{color:#88959d;font-size:11px}.mini-empty{text-align:center;color:#aaa;padding:30px 8px;font-size:12px}.room-legend{color:#788690;gap:15px;padding:4px 4px 14px;font-size:12px;display:flex}.room-legend i,.timeline-legend i{border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.free{--state:#46bf82}.busy{--state:#ff879b}.booked{--state:#4aa3df}.cleaning{--state:#f5bd49}.maintain{--state:#9ba6ae}.station-room-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;display:grid}.station-room{border:2px solid #0000;border-top:4px solid var(--state,#aaa);text-align:left;background:#fff;border-radius:8px;height:125px;padding:10px;box-shadow:0 2px 8px #00000012}.station-room.selected{border-color:#e91e63}.station-room header{justify-content:space-between;align-items:center;display:flex}.station-room header b{font-size:20px}.station-room header span{color:#fff;background:var(--state,#aaa);border-radius:10px;padding:2px 7px;font-size:10px}.station-room p{margin:8px 0 3px;font-size:13px}.station-room small,.station-room em{color:#88959d;margin-top:4px;font-size:11px;font-style:normal;display:block}.work-actions h3{color:#45535c;margin:3px 0 12px;font-size:15px}.action-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.action-grid button{color:#d81b60;background:#fff8fb;border:1px solid #f8bbd0;border-radius:7px;padding:10px 4px;font-size:12px}.action-grid i{margin-bottom:4px;font-size:18px;font-style:normal;display:block}.station-message{border-bottom:1px solid #eee;gap:3px;padding:9px 0;font-size:12px;display:grid}.station-message span,.station-message small{color:#8996a0}.timeline-prototype{background:#f4f7f9;min-height:calc(100vh - 100px);margin:-20px;padding:20px}.timeline-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.timeline-header h1{color:#2c3e50;margin:0;font-size:24px}.timeline-header>div{gap:10px;display:flex}.timeline-header button{background:#fff;border:1px solid #dce3e8;border-radius:5px;padding:8px 14px}.timeline-header button.active{color:#fff;background:#3498db}.timeline-header button.smart{color:#fff;background:linear-gradient(135deg,#ff9a9e,#f783ac);border:0}.timeline-wrap{background:#fff;border-radius:8px;display:flex;overflow:hidden;box-shadow:0 2px 10px #0000000d}.timeline-left{border-right:1px solid #e8edf0;flex:none;width:270px}.timeline-left header,.timeline-room{border-bottom:1px solid #edf1f3;grid-template-columns:1fr 105px;align-items:center;height:68px;padding:0 14px;font-size:12px;display:grid}.timeline-left header{background:#f8fafb;height:58px;font-weight:700}.timeline-room strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-room b.high{color:#27ae60}.timeline-room b.mid{color:#f39c12}.timeline-room b.low{color:#e74c3c}.timeline-room i{background:#edf0f2;border-radius:4px;width:84px;height:5px;margin-top:5px;display:block}.timeline-room em{background:#ff9a9e;border-radius:4px;height:100%;display:block}.timeline-scroll{flex:1;overflow-x:auto}.timeline-days{grid-template-columns:90px repeat(14,90px);min-width:1350px;display:grid}.today-status,.day-head{background:#f8fafb;border-bottom:1px solid #edf1f3;border-right:1px solid #edf1f3;flex-direction:column;justify-content:center;align-items:center;height:58px;font-size:12px;display:flex}.day-head span{color:#999;margin-top:4px}.day-head.today{color:#e91e63;background:#fff0f5}.current-state,.day-cell{border-bottom:1px solid #edf1f3;border-right:1px solid #edf1f3;justify-content:center;align-items:center;height:68px;font-size:11px;display:flex}.booking-block{text-align:center;color:#fff;background:#ff9a9e;border-radius:4px;justify-content:center;align-items:center;width:calc(100% - 5px);min-height:35px;padding:2px;font-size:10px;display:flex;overflow:hidden}.booking-block.booked{background:#3498db}.booking-block.cleaning{background:#f0ad4e}.booking-block.maintain{background:#95a5a6}.booking-block.new-booking{background:#9b59b6}.timeline-legend{color:#687782;justify-content:flex-end;gap:18px;margin-top:12px;font-size:12px;display:flex}.timeline-legend .occupied{background:#ff9a9e}.timeline-legend .booked{background:#3498db}.timeline-legend .cleaning{background:#f0ad4e}.timeline-legend .maintain{background:#95a5a6}.timeline-legend .new-booking{background:#9b59b6}.allocation-plans{margin-top:20px}.plans-title{justify-content:space-between;display:flex}.plans-title button{border:0;font-size:22px}.proto-plan{background:#fff;border:1px solid #f0dce5;border-radius:9px;padding:16px}.proto-plan header{justify-content:space-between;display:flex}.proto-plan h3{margin:0}.proto-plan header span{color:#e91e63;background:#fff0f5;border-radius:12px;padding:4px 8px;font-size:11px}.proto-plan>div{grid-template-columns:1fr 1fr;gap:4px;margin:14px 0;display:grid}.proto-plan>div b{color:#e91e63}.proto-plan>div small{color:#999}.proto-plan details{min-height:80px;font-size:12px}.proto-plan footer{justify-content:flex-end;gap:7px;display:flex}.proto-plan footer button{color:#e91e63;background:#fff;border:1px solid #e91e63;border-radius:5px;padding:6px 9px}.proto-plan footer .solid{color:#fff;background:#e91e63}.workstation-exact{--ws-pink:#ff85c0;--ws-green:#52c41a;--ws-amber:#faad14;--ws-blue:#1890ff;--ws-red:#ff4d4f;color:#333;background:#f5f6fa;flex-direction:column;min-height:calc(100vh - 100px);margin:-20px;display:flex}.ws-header{color:#fff;background:linear-gradient(135deg,#ff85c0,#ff6baa);flex:none;justify-content:space-between;align-items:center;height:68px;padding:10px 24px;display:flex;box-shadow:0 2px 8px #ff85c04d}.ws-header h1{margin:0;font-size:20px}.ws-header span{font-size:11px}.ws-header-stats{gap:24px;display:flex}.ws-header-stats span{font-size:12px}.ws-header-stats b{margin-left:5px;font-size:19px}.ws-header>button{color:#d4377e;background:#fff;border:0;border-radius:6px;padding:8px 14px}.ws-body{height:610px;min-height:0;display:flex}.ws-guests{background:#fff;border-right:1px solid #e8e8e8;flex:none;width:300px;overflow:auto}.ws-guests .queue-tabs{z-index:2;background:#fff;padding:8px 12px 0;position:sticky;top:0}.ws-guests .queue-list{padding:8px 12px}.ws-guests .queue-list button{border:1px solid #eee;border-radius:9px;margin-bottom:8px;padding:12px}.ws-guests .queue-list button.active{border-color:var(--ws-pink);background:#fff0f6;box-shadow:0 2px 12px #ff85c033}.ws-guests .queue-list strong{justify-content:space-between;display:flex}.ws-guests .queue-list i{background:var(--ws-pink);color:#fff;border-radius:4px;padding:1px 6px;font-size:10px;font-style:normal}.ws-guests .queue-list em{color:#d48806;font-style:normal}.ws-room-panel{flex-direction:column;flex:1;min-width:0;display:flex}.ws-toolbar{background:#fff;border-bottom:1px solid #e8e8e8;flex:none;align-items:center;gap:10px;height:55px;padding:9px 20px;display:flex}.ws-legends{flex:1;gap:5px;display:flex}.ws-legends button{color:#888;background:#fff;border:1.5px solid #0000;border-radius:6px;padding:5px 9px;font-size:12px}.ws-legends button i{background:#aaa;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.ws-legends .available i{background:var(--ws-green)}.ws-legends .occupied i{background:var(--ws-pink)}.ws-legends .reserved i{background:var(--ws-amber)}.ws-legends .cleaning i{background:var(--ws-blue)}.ws-legends .maintenance i{background:var(--ws-red)}.ws-legends button.active{background:#fff8fb;border-color:currentColor}.ws-toolbar select,.clear-filter{color:#777;background:#fff;border:1px solid #e8e8e8;border-radius:5px;padding:6px 9px}.ws-alerts{color:#cf1322;background:#fff1f0;align-items:center;gap:14px;min-height:38px;padding:6px 22px;font-size:12px;display:flex}.ws-alerts span{color:#888}.ws-room-scroll{flex:1;padding:16px 20px;overflow:auto}.ws-floor{margin-bottom:20px}.ws-floor h3{color:#888;margin:0 0 10px;font-size:14px}.ws-room-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.ws-room-card{text-align:left;background:#fff;border:2px solid #e8e8e8;border-left-width:4px;border-radius:12px;flex-direction:column;min-height:140px;padding:14px 16px;transition:all .2s;display:flex}.ws-room-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.ws-room-card.available{border-left-color:var(--ws-green)}.ws-room-card.occupied{border-left-color:var(--ws-pink);background:#fff8fa}.ws-room-card.reserved{border-left-color:var(--ws-amber);background:#fffbf0}.ws-room-card.cleaning{border-left-color:var(--ws-blue);background:#f0f8ff}.ws-room-card.maintenance{border-left-color:var(--ws-red);background:#fff1f0}.ws-room-card.selected{border-color:var(--ws-pink);box-shadow:0 0 0 2px #ff85c04d,0 6px 20px #ff85c026}.ws-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.ws-card-top>span b{font-size:18px}.ws-card-top>span i{color:#888;background:#f0f0f0;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:10px;font-style:normal}.ws-card-top>em{color:#d4377e;background:#fff0f6;border-radius:6px;padding:3px 8px;font-size:11px;font-style:normal}.ws-card-middle{flex:1;grid-template-columns:auto 1fr;align-content:start;gap:3px 6px;display:grid}.ws-card-middle strong{font-size:15px}.ws-card-middle small{color:#888;grid-column:1/-1;font-size:11px}.ws-empty{color:#bbb;flex-direction:column;flex:1;justify-content:center;font-size:13px;font-style:italic;display:flex}.ws-empty small{color:#d48806;margin-top:4px}.ws-card-bottom{color:#888;border-top:1px dashed #eee;justify-content:space-between;padding-top:6px;font-size:11px;display:flex}.ws-card-bottom b{color:#333}.ws-bottom{background:#fff;border-top:1px solid #e8e8e8;grid-template-columns:40% 60%;height:190px;display:grid}.ws-bottom section{padding:14px 24px;overflow:auto}.ws-bottom section:first-child{border-right:1px solid #e8e8e8}.ws-bottom h3{margin:0 0 9px;font-size:14px}.ws-messages p{border:1px solid #eee;border-radius:6px;grid-template-columns:120px 1fr auto;gap:10px;margin:0 0 6px;padding:6px 10px;font-size:12px;display:grid}.ws-messages span,.ws-messages small{color:#888}.ws-actions{flex-wrap:wrap;gap:10px;display:flex}.ws-actions button{color:#d4377e;background:#fff8fb;border:1px solid #ffd6e7;border-radius:8px;min-width:92px;padding:11px;font-size:18px}.ws-actions span{margin-top:4px;font-size:11px;display:block}.proto-btn.danger{color:#d32f2f;background:#fff;border:1px solid #d32f2f}.service-modal{width:min(900px,92vw)}.service-modal textarea{border:1px solid #f8bbd0;border-radius:6px;width:100%;min-height:72px;margin-top:6px;padding:9px}.compact-form label.full{grid-column:1/-1}.matron-steps{grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 24px;display:grid}.matron-steps span{color:#999;border-bottom:3px solid #eee;align-items:center;gap:8px;padding:8px;display:flex}.matron-steps b{background:#eee;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.matron-steps span.active,.matron-steps span.done{color:#e91e63;border-color:#e91e63}.matron-steps span.active b,.matron-steps span.done b{color:#fff;background:#e91e63}.lookup-result{color:#ad1457;background:#fff0f5;border-radius:6px;padding:10px 12px}.field-with-btn{gap:7px;margin-top:6px;display:flex}.field-with-btn input{margin-top:0!important}.field-with-btn button{white-space:nowrap;color:#fff;background:#e91e63;border:0;border-radius:5px;padding:0 12px}.matron-base{grid-template-columns:repeat(3,1fr)}.certificate-picker{align-items:end;gap:16px;display:flex}.certificate-picker label{gap:6px;font-size:13px;display:grid}.certificate-picker select{border:1px solid #f8bbd0;border-radius:6px;padding:9px}.file-button{color:#fff;cursor:pointer;background:#e91e63;border-radius:6px;padding:10px 16px}.file-button input{display:none}.certificate-step ul{padding:0;list-style:none}.certificate-step li{background:#fff0f5;border-radius:6px;justify-content:space-between;margin:6px 0;padding:9px 12px;display:flex}.certificate-step li button{color:#e91e63;background:0 0;border:0}.room-picker{background:#fff0f5;border:1px solid #f8bbd0;border-radius:8px;margin-bottom:18px;padding:14px}.room-picker>div{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.room-picker label{background:#fff;border:1px solid #f8bbd0;border-radius:6px;padding:7px 10px}.room-picker input{margin-right:6px}.fee-table .money{color:#e91e63;font-weight:700}.fee-table button:disabled{color:#aaa;background:#eee;border:1px solid #ddd;border-radius:4px;padding:5px 10px}.fee-proof-overlay{padding:20px;overflow:auto}.fee-proof{width:860px;max-height:95vh;overflow:auto}.proof-toolbar{justify-content:flex-end;gap:10px;margin-bottom:10px;display:flex}.proof-toolbar button{color:#fff;background:#e91e63;border:0;border-radius:5px;padding:9px 14px}.proof-paper{background:#fff;padding:48px 58px;box-shadow:0 4px 30px #0003}.proof-paper header{text-align:center;border-bottom:3px double #e91e63;padding-bottom:20px}.proof-logo{color:#fff;background:#e91e63;border-radius:50%;place-items:center;width:48px;height:48px;margin:auto;font-size:28px;display:grid}.proof-paper h1{color:#e91e63;margin:10px 0 4px;font-size:27px}.proof-paper header p{color:#999;letter-spacing:2px;font-size:11px}.proof-no{text-align:right;color:#777;margin:18px 0;font-size:13px}.proof-paper section{margin:22px 0}.proof-paper section h3{color:#e91e63;border-left:4px solid #e91e63;padding-left:9px;font-size:16px}.proof-grid{background:#fff8fb;grid-template-columns:1fr 1fr;padding:16px 22px;display:grid}.proof-grid p{margin:8px}.proof-paper section table{border-collapse:collapse;width:100%}.proof-paper section td{border:1px solid #f8bbd0;padding:11px}.proof-paper section td:last-child{text-align:right}.proof-total{color:#e91e63;background:#fff0f5;font-weight:700}.proof-paper footer{color:#666;justify-content:space-between;align-items:end;margin-top:35px;line-height:2;display:flex}.stamp{text-align:center;color:#e91e63;border:3px solid #e91e63;border-radius:50%;place-items:center;width:105px;height:105px;font-weight:700;display:grid;transform:rotate(-8deg)}@media (width<=1200px){.dashboard-prototype .kpi-grid{grid-template-columns:repeat(3,1fr)}.income-grid,.room-dashboard-grid,.bottom-grid{grid-template-columns:1fr}.work-main{grid-template-columns:220px 1fr}.work-actions{grid-column:1/-1;min-height:auto}.work-header{grid-template-columns:1fr}}@media (width<=800px){.prototype-shell .sidebar{width:76px}.prototype-shell .side-brand{justify-content:center;padding:0 8px}.prototype-shell .side-brand b{white-space:normal;text-align:center;font-size:12px}.prototype-shell .sidebar nav button{text-align:center;justify-content:center;padding:0 5px;font-size:11px}.prototype-shell .main-shell{margin-left:76px}.dashboard-prototype .kpi-grid{grid-template-columns:1fr 1fr}.work-main{grid-template-columns:1fr}.mother-queue,.room-control,.work-actions{min-height:auto}.prototype-business,.fee-prototype{padding:20px}.compact-form,.proof-grid{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.fee-proof-overlay,.fee-proof-overlay *{visibility:visible}.fee-proof-overlay{background:#fff;padding:0;position:absolute;inset:0}.fee-proof{width:100%;max-height:none}.proof-toolbar{display:none}.proof-paper{box-shadow:none}}
