html,body,#root{width:100%;min-width:320px;min-height:100vh;margin:0;padding:0}body{overflow-x:hidden}:root{color:#f7efe2;background:#060812;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top,#d6ad5f24,#0000 34rem),linear-gradient(#090d18 0%,#03050b 100%);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:linear-gradient(#ffffff0e,#0000),#0a101eeb;border:1px solid #d6ad5f3d;border-radius:30px;width:min(420px,100%);padding:34px;box-shadow:0 28px 90px #00000061}.login-logo-block{text-align:center;margin-bottom:26px}.login-brand-logo{object-fit:contain;width:min(280px,88%);max-height:90px;margin:0 auto 22px;display:block}.login-card h1{color:#f7efe2;margin:0;font-size:28px;line-height:1.05}.login-form{gap:16px;display:grid}.login-form label{color:#f7efe2d1;gap:8px;font-size:14px;font-weight:700;display:grid}.login-form input{color:#f7efe2;background:#ffffff0f;border:1px solid #d6ad5f38;border-radius:16px;outline:none;width:100%;height:50px;padding:0 14px}.login-form input:focus{border-color:#f3d58cb8;box-shadow:0 0 0 4px #d6ad5f1c}.login-form button,.access-logout-button{color:#07101f;background:linear-gradient(135deg,#f3d58c,#d6ad5f);border:0;border-radius:999px;min-height:50px;padding:0 22px;font-weight:800}.login-form button:disabled{opacity:.64;cursor:not-allowed}.login-error{color:#ff9b92;margin:0;font-size:14px;line-height:1.5}.access-logout-button{width:100%;margin-top:22px}.console-shell{flex-direction:column;width:100%;height:100vh;min-height:100vh;display:flex;overflow:hidden}.top-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#ffffff0b,#0000),#060a14eb;border-bottom:1px solid #d6ad5f2e;flex:none;justify-content:space-between;align-items:stretch;gap:22px;height:96px;min-height:96px;padding:14px 24px;display:flex}.restaurant-brand,.sinniesoft-brand{aspect-ratio:4;background:0 0;border-radius:0;flex:none;height:100%;display:block;overflow:hidden}.restaurant-brand img,.sinniesoft-brand img{object-fit:fill;width:100%;height:100%;display:block}.login-info{text-align:center;background:#ffffff09;border:1px solid #d6ad5f24;border-radius:999px;flex:auto;align-self:center;max-width:520px;padding:13px 18px}.login-info p{color:#f7efe2b8;margin:0;font-size:14px;line-height:1.35}.login-info strong{color:#f3d58c}.header-center-space{flex:auto;min-width:24px}.console-body{flex:auto;min-height:0;display:grid;overflow:hidden}.console-body.has-sub-sidebar{grid-template-columns:220px 220px minmax(0,1fr)}.console-body.no-sub-sidebar{grid-template-columns:220px minmax(0,1fr)}.sidebar{background:#03060d7a;border-right:1px solid #d6ad5f29;flex-direction:column;gap:18px;width:220px;height:100%;min-height:0;padding:34px 18px 24px;display:flex;overflow:hidden}.sidebar-nav{gap:8px;display:grid}.sidebar-nav button{color:#f7efe2c2;text-align:left;background:0 0;border:1px solid #0000;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 16px;font-weight:750;display:flex}.sidebar-nav button:hover{color:#f7efe2;background:#ffffff0e}.sidebar-nav button.active{color:#07101f;background:linear-gradient(135deg,#f3d58c,#d6ad5f);box-shadow:0 18px 48px #d6ad5f24}.sidebar-nav button.inactive{color:#f7efe27a}.sidebar-nav button.inactive:hover{color:#f7efe2b8}.sidebar-nav button.inactive.active{color:#07101f}.module-inactive-lock{opacity:.45;flex:none;font-size:11px;line-height:1;transform:translateY(-1px)}.sidebar-nav button.active .module-inactive-lock{opacity:.7}.logout-button{color:#f7efe2c7;background:#ffffff0b;border:1px solid #d6ad5f33;border-radius:999px;min-height:46px;margin-top:auto;padding:0 18px;font-weight:800}.logout-button:hover{color:#f7efe2;border-color:#f3d58c75}.sub-sidebar{background:#ffffff06;border-right:1px solid #d6ad5f1f;width:220px;height:100%;min-height:0;padding:34px 14px 24px;overflow:hidden}.sub-sidebar-nav{gap:8px;display:grid}.sub-sidebar-nav button{color:#f7efe2a3;text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;width:100%;min-height:44px;padding:0 14px;font-size:14px;font-weight:750}.sub-sidebar-nav button:hover{color:#f7efe2;background:#ffffff0b}.sub-sidebar-nav button.active{color:#07101f;background:linear-gradient(135deg,#f3d58c,#d6ad5f)}.main-content{scrollbar-width:thin;scrollbar-color:#d6ad5fb8 #ffffff0b;min-width:0;min-height:0;padding:34px;overflow:auto}.main-content::-webkit-scrollbar{width:10px}.main-content::-webkit-scrollbar-track{background:#ffffff0b;border-radius:999px}.main-content::-webkit-scrollbar-thumb{background:linear-gradient(#f3d58c,#d6ad5f);border-radius:999px}.main-content::-webkit-scrollbar-thumb:hover{background:#f3d58c}.main-content-header{margin-bottom:24px}.main-content-header h1{color:#f7efe2;letter-spacing:-.05em;margin:0;font-size:clamp(36px,6vw,68px);line-height:.95}.section-kicker{color:#f3d58c;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:850}.content-card{background:linear-gradient(#ffffff0e,#0000),#ffffff0a;border:1px solid #d6ad5f33;border-radius:28px;max-width:960px;padding:28px;box-shadow:0 24px 70px #0000002e}.content-card h2{color:#f7efe2;margin:0 0 14px;font-size:28px}.content-card p{color:#f7efe2b8;max-width:680px;margin:0 0 12px;line-height:1.65}.content-card strong{color:#f3d58c}.muted-text{color:#f7efe29e;line-height:1.6}.dashboard-welcome-card{max-width:720px}.reservations-section{gap:22px;display:grid}.reservation-stats-grid,.reservation-restaurant-id{display:none}.reservations-card{max-width:none}.reservations-card-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.reservations-card-header h2{margin-bottom:0}.reservation-pagination{background:#ffffff09;border:1px solid #d6ad5f29;border-radius:999px;align-items:center;gap:8px;padding:6px;display:inline-flex}.reservation-pagination button{color:#07101f;background:linear-gradient(135deg,#f3d58c,#d6ad5f);border:0;border-radius:999px;width:34px;height:34px;font-size:16px;font-weight:900;line-height:1}.reservation-pagination button:disabled{opacity:.28;cursor:not-allowed}.reservation-pagination span{color:#f7efe2b8;text-align:center;min-width:46px;font-size:12px;font-weight:850}.reservation-error{color:#ff9b92;margin:0;line-height:1.6}.reservations-table-wrap{width:100%;overflow-x:auto}.reservations-table{border-collapse:collapse;width:100%;min-width:920px}.reservations-table th{color:#f7efe285;letter-spacing:.13em;text-align:left;text-transform:uppercase;border-bottom:1px solid #d6ad5f2e;padding:0 14px 12px;font-size:11px;font-weight:850}.reservations-table td{color:#f7efe2c7;vertical-align:top;border-bottom:1px solid #d6ad5f1a;padding:16px 14px}.reservations-table th:first-child,.reservations-table td:first-child{white-space:nowrap;width:96px;min-width:96px}.reservations-table th:nth-child(2),.reservations-table td:nth-child(2){white-space:nowrap;width:74px;min-width:74px}.reservations-table td strong{color:#f7efe2;margin-bottom:4px;display:block}.reservations-table td span{display:block}.reservation-message{color:#f7efe285;max-width:300px;font-size:13px;line-height:1.45}.reservation-status{text-align:center;white-space:nowrap;border-radius:999px;width:96px;height:38px;min-height:38px;padding:0 12px;font-size:12px;font-weight:850;line-height:38px;display:inline-block}.reservation-status.pending{color:#07101f;background:#f3d58c}.reservation-status.confirmed{color:#06140b;background:#8ee0a1}.reservation-status.declined,.reservation-status.cancelled{color:#2b0604;background:#ff9b92}.reservation-actions{flex-wrap:wrap;gap:8px;display:flex}.reservation-actions button{color:#07101f;text-align:center;background:linear-gradient(135deg,#f3d58c,#d6ad5f);border:1px solid #d6ad5f33;border-radius:999px;place-items:center;width:96px;height:38px;min-height:38px;padding:0 12px;font-size:12px;font-weight:850;line-height:1;display:grid}.reservation-actions button.danger{color:#f7efe2;background:#b3261eeb;border-color:#ff9b926b}.reservation-actions button:disabled{opacity:.4;cursor:not-allowed}.timeslots-card{max-width:900px}.timeslots-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.timeslots-header h2{margin-bottom:0}.timeslot-grid{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.timeslot-grid button{color:#f7efe2b8;background:#ffffff0b;border:1px solid #d6ad5f2e;border-radius:999px;min-width:92px;min-height:46px;font-weight:850}.timeslot-grid button.active{color:#07101f;background:linear-gradient(135deg,#f3d58c,#d6ad5f);box-shadow:0 16px 42px #d6ad5f24}.timeslot-grid.danger-mode button.active{color:#f7efe2;box-shadow:none;background:#b3261eeb;border-color:#ff9b926b}.timeslots-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:26px;display:flex}.timeslots-actions button{color:#07101f;background:linear-gradient(135deg,#f3d58c,#d6ad5f);border:0;border-radius:999px;min-height:48px;padding:0 22px;font-weight:850}.timeslots-actions button.secondary-action{color:#f7efe2db;background:#ffffff0e;border:1px solid #d6ad5f38}.timeslots-actions button:disabled{opacity:.55;cursor:not-allowed}.timeslots-actions p{color:#8ee0a1;margin:0;font-weight:750}.reservation-info-card{background:#ffffff09;border:1px solid #d6ad5f29;border-radius:22px;margin-bottom:20px;padding:18px 20px}.reservation-info-card h3{color:#f3d58c;margin:0 0 8px;font-size:16px}.reservation-info-card p{color:#f7efe2ad;max-width:820px;margin:0;line-height:1.6}.reservation-rule-card{background:#ffffff09;border:1px solid #d6ad5f29;border-radius:22px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:20px;display:flex}.reservation-rule-card h3{color:#f7efe2;margin:0 0 8px;font-size:20px}.reservation-rule-card p{color:#f7efe29e;margin:0}.reservation-rule-card select,.special-date-form input,.special-date-form textarea{color:#f7efe2;background:#ffffff0f;border:1px solid #d6ad5f38;border-radius:16px;outline:none;width:100%;min-height:48px;padding:0 14px}.reservation-rule-card select{max-width:240px}.special-date-form textarea{resize:vertical;min-height:92px;padding:12px 14px}.weekly-schedule-list{gap:14px;display:grid}.weekly-day-row{background:#ffffff08;border:1px solid #d6ad5f24;border-radius:22px;padding:18px}.weekly-day-row.closed{opacity:.68}.weekly-day-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.weekly-day-header h3{color:#f7efe2;margin:0 0 4px;font-size:20px}.weekly-day-header p{color:#f7efe28f;margin:0}.day-toggle{color:#f7efe2;background:#b3261eb8;border:1px solid #ff9b9261;border-radius:999px;min-width:96px;min-height:40px;font-weight:850}.day-toggle.active{color:#07101f;background:linear-gradient(135deg,#f3d58c,#d6ad5f);border-color:#0000}.timeslot-grid.compact{gap:8px;margin-top:0}.timeslot-grid.compact button{min-width:78px;min-height:40px;font-size:13px}.timeslot-grid.compact button:disabled{opacity:.28;cursor:not-allowed}.special-date-form{background:#ffffff08;border:1px solid #d6ad5f24;border-radius:24px;gap:16px;margin-bottom:28px;padding:20px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid label,.textarea-label{color:#f7efe2c7;gap:8px;font-size:14px;font-weight:800;display:grid}.special-date-status{flex-wrap:wrap;gap:10px;display:flex}.special-date-status button{color:#f7efe2c2;background:#ffffff0b;border:1px solid #d6ad5f33;border-radius:999px;min-width:96px;min-height:42px;font-weight:850}.special-date-status button.active{color:#07101f;background:linear-gradient(135deg,#f3d58c,#d6ad5f)}.special-date-status button.danger.active{color:#f7efe2;background:#b3261eeb;border-color:#ff9b926b}.special-dates-list{gap:12px;display:grid}.special-dates-list h3{color:#f7efe2;margin:0 0 8px;font-size:22px}.special-date-row{background:#ffffff07;border:1px solid #d6ad5f1f;border-radius:20px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.special-date-row strong{color:#f7efe2;margin-bottom:4px;display:block}.special-date-row p{color:#f7efe29e;margin:0 0 4px}.special-date-row span{color:#f7efe280;font-size:13px;line-height:1.45;display:block}.special-date-actions{flex-wrap:wrap;gap:8px;display:flex}.special-date-actions button{color:#07101f;background:linear-gradient(135deg,#f3d58c,#d6ad5f);border:1px solid #d6ad5f33;border-radius:999px;min-height:36px;padding:0 12px;font-size:12px;font-weight:850}.special-date-actions button.danger{color:#f7efe2;background:#b3261eeb;border-color:#ff9b926b}.settings-card{flex-direction:column;gap:22px;max-width:900px;display:flex}.settings-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.settings-header h2{margin-bottom:0}.settings-header>div>.section-kicker,.timeslots-header>div>.section-kicker,.reservations-card-header>div>.section-kicker,.dashboard-welcome-card>.section-kicker{display:none}.settings-form-section{background:radial-gradient(circle at 0 0,#d6ad5f14,#0000 34%),#ffffff08;border:1px solid #d6ad5f24;border-radius:24px;flex-direction:column;gap:18px;padding:20px;display:flex}.settings-form-section h3{color:#f7efe2;margin:4px 0 0;font-size:20px}.settings-form-section label{color:#f7efe2c7;gap:8px;font-size:14px;font-weight:800;display:grid}.settings-form-section input{color:#f7efe2;background:#ffffff0f;border:1px solid #d6ad5f38;border-radius:16px;outline:none;width:100%;min-height:48px;padding:0 14px}.settings-form-section input:focus{border-color:#f3d58cb8;box-shadow:0 0 0 4px #d6ad5f1c}.inactive-service-card{position:relative;overflow:hidden}.inactive-service-card:before{content:"";pointer-events:none;background:#d6ad5f14;border-radius:999px;width:260px;height:260px;position:absolute;inset:auto -20% -42% auto}.inactive-service-icon{color:#f3d58c;background:#ffffff0b;border:1px solid #d6ad5f38;border-radius:18px;justify-content:center;align-items:center;width:52px;height:52px;margin:4px 0 18px;font-size:20px;display:inline-flex}@media (width<=900px){.console-shell{height:auto;min-height:100vh;overflow:visible}.top-header{flex-direction:column;align-items:center;gap:14px;height:auto;min-height:0;padding:16px}.restaurant-brand,.sinniesoft-brand{aspect-ratio:4;width:min(440px,100%);height:auto}.login-info{border-radius:20px;width:min(440px,100%);max-width:none}.header-center-space{display:none}.console-body.has-sub-sidebar,.console-body.no-sub-sidebar{grid-template-columns:1fr}.console-body{overflow:visible}.sidebar{border-bottom:1px solid #d6ad5f29;border-right:0;width:100%;height:auto;overflow:visible}.sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-nav button{text-align:center}.sub-sidebar{border-bottom:1px solid #d6ad5f1f;border-right:0;width:100%;height:auto;padding:16px 14px;overflow:visible}.sub-sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sub-sidebar-nav button{text-align:center}.logout-button{margin-top:4px}.reservations-card-header,.timeslots-header,.settings-header{flex-direction:column}.main-content{overflow:visible}}@media (width<=760px){.reservation-rule-card,.weekly-day-header,.special-date-row{flex-direction:column;align-items:stretch}.reservation-rule-card select{max-width:none}.form-grid{grid-template-columns:1fr}.special-date-actions{width:100%}.special-date-actions button{flex:1}.reservation-pagination{align-self:flex-start}}@media (width<=640px){.login-page{padding:18px}.login-card{border-radius:24px;padding:26px 22px}.top-header{padding:16px}.restaurant-brand,.sinniesoft-brand,.login-info{width:100%}.console-body{display:block}.sidebar{padding:18px 14px}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sub-sidebar-nav{grid-template-columns:1fr}.main-content{padding:24px 18px}.content-card{border-radius:22px;padding:22px}}
