:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#1e2c28;background:#f3f6f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{background:#143a31;color:#fff;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.brand-mark{width:42px;height:42px;border-radius:13px;background:#d9b44a;color:#143a31;display:grid;place-items:center;font-weight:900;font-size:23px}.brand strong{display:block;font-size:20px}.brand span{font-size:10px;letter-spacing:.24em;color:#bdd0c9}.brand .icon-button{margin-left:auto}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:#d5e1dd}.sidebar nav a:hover,.sidebar nav a.active{background:#255247;color:#fff}.sidebar-foot{margin-top:auto;padding:18px 10px 4px;border-top:1px solid #386057;display:grid;gap:3px;color:#d5e1dd}.sidebar-foot b{font-size:12px}.sidebar-foot small{font-size:11px}.app-shell>main{min-width:0}.app-shell header{height:86px;background:#fff;border-bottom:1px solid #e1e8e4;padding:0 34px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:10}.app-shell header h1{margin:0;font-size:20px}.app-shell header p{margin:3px 0 0;color:#70817b;font-size:13px}.app-shell header .primary{margin-left:auto}.content{padding:30px;max-width:1500px;margin:auto}.primary,.secondary{border:0;border-radius:9px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.primary{background:#1c5a4b;color:#fff}.primary:hover{background:#16483d}.secondary{background:#e8efec;color:#24463e}.icon-button{border:0;background:transparent;padding:7px;display:grid;place-items:center;border-radius:8px;cursor:pointer;color:inherit}.danger{color:#a23d3d}.mobile-only{display:none}.hero{background:linear-gradient(120deg,#143a31,#24584b);color:#fff;border-radius:18px;padding:34px;display:flex;justify-content:space-between;align-items:flex-end;box-shadow:0 12px 30px #153c3220}.hero h2{font-size:30px;max-width:650px;margin:5px 0 10px}.hero p{max-width:720px;color:#dce8e4;margin:0}.eyebrow{font-size:11px!important;letter-spacing:.2em;color:#d9b44a!important;font-weight:800}.hero-date{background:#ffffff13;border:1px solid #ffffff24;border-radius:12px;padding:18px;min-width:230px}.hero-date span{display:block;color:#bcd0c9;font-size:12px;margin-bottom:5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat,.panel{background:#fff;border:1px solid #e1e8e4;border-radius:14px;box-shadow:0 5px 18px #23483f0a}.stat{display:flex;align-items:center;gap:14px;padding:20px}.stat-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#edf4f1;color:#1d5a4b}.stat strong{font-size:25px;display:block}.stat span{color:#74847e;font-size:13px}.panel{padding:23px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-head h2,.panel-head h3{margin:0}.panel-head p{margin:5px 0 0;color:#798781;font-size:13px}.panel-head>a{color:#1d5a4b;font-weight:700}.booking-list{display:grid}.booking-row{display:grid;grid-template-columns:58px 1fr auto auto;align-items:center;gap:15px;padding:14px 5px;border-top:1px solid #edf1ef}.date-tile{background:#edf4f1;border-radius:10px;text-align:center;padding:8px}.date-tile b{display:block;font-size:20px}.date-tile span{text-transform:uppercase;font-size:10px;color:#63756e}.booking-main{display:grid;gap:5px}.booking-main span{color:#708079;font-size:13px}.badge,.sheet-ready,.sheet-pending{display:inline-flex;width:max-content;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.badge.confirmed{background:#e4f3eb;color:#24704d}.badge.provisional{background:#fff3d9;color:#8a6517}.badge.cancelled{background:#fbe6e6;color:#9b3b3b}.sheet-ready{background:#e7f0ff;color:#315f9b}.sheet-pending{background:#fff0e2;color:#985722}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7b8984;padding:12px;border-bottom:1px solid #e5ebe8}td{padding:14px 12px;border-bottom:1px solid #edf1ef;font-size:14px}td a{display:grid;gap:3px}td small{color:#7b8984}.search{display:flex;align-items:center;gap:8px;background:#f3f6f4;border:1px solid #dde6e2;border-radius:9px;padding:0 11px}.search input{border:0;background:transparent;outline:0;padding:10px;width:250px}.form-panel{max-width:1050px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{display:grid;gap:7px;color:#53645e;font-size:13px;font-weight:700}.span-2{grid-column:span 2}.form-grid input,.form-grid select,.form-grid textarea,.repeat-grid input{width:100%;border:1px solid #d8e2de;background:#fbfcfb;border-radius:9px;padding:11px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.repeat-grid input:focus{border-color:#4f887a;box-shadow:0 0 0 3px #4f887a18}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;border-top:1px solid #e6ece9;padding-top:20px}.back{display:inline-flex;gap:8px;align-items:center;color:#547068;margin-bottom:16px}.detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.detail-head h2{margin:10px 0 4px;font-size:30px}.detail-head p{margin:0;color:#73817c}.detail-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:20px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-grid div{display:grid;gap:5px}.info-grid span,.sheet-summary span{color:#7a8983;font-size:12px;display:flex;align-items:center;gap:5px}.panel hr{border:0;border-top:1px solid #e7ecea;margin:24px 0}.contact-card{display:grid;gap:10px}.contact-card span{display:flex;align-items:center;gap:8px;color:#63736d}.sheet-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f5f8f6;padding:14px;border-radius:10px}.sheet-summary>div{display:grid;gap:4px}.function-preview h4{margin:22px 0 10px}.requirement{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:12px 0;border-top:1px solid #e8eeeb}.requirement time{font-weight:800;color:#1d5a4b}.requirement p,.package p{margin:4px 0;color:#66766f}.package{padding:12px;background:#f7f9f8;border-radius:9px}.empty{text-align:center;padding:50px 20px;color:#6f7e78}.empty svg{color:#8eaaa1}.empty h4{color:#273b35;font-size:18px}.button-link{width:max-content}.empty .button-link{margin:18px auto 0}.editor-section{margin-top:25px;padding-top:22px;border-top:1px solid #e3eae7}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h3,.section-title p{margin:0}.section-title p{color:#778781;font-size:13px;margin-top:4px}.repeat-grid{display:grid;grid-template-columns:1fr 1fr 120px 2fr auto;gap:9px;margin-bottom:9px}.repeat-grid .wide{min-width:0}.package-edit{grid-template-columns:1fr 2fr auto}@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.hero{align-items:start;gap:25px;flex-direction:column}.hero-date{min-width:0;width:100%}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:30;left:-270px;width:250px;transition:.2s}.sidebar.open{left:0;box-shadow:10px 0 40px #0004}.mobile-only{display:grid}.app-shell header{padding:0 16px;height:74px}.app-shell header p{display:none}.content{padding:16px}.primary{padding:10px 12px}.hero{padding:24px}.hero h2{font-size:24px}.stats{grid-template-columns:1fr 1fr}.booking-row{grid-template-columns:50px 1fr}.booking-row>.badge,.booking-row>.sheet-ready,.booking-row>.sheet-pending{display:none}.panel-head{align-items:flex-start;flex-direction:column}.search,.search input{width:100%}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.info-grid{grid-template-columns:1fr}.detail-head{align-items:flex-start;gap:15px;flex-direction:column}.repeat-grid,.package-edit{grid-template-columns:1fr}.sidebar .mobile-only{display:grid}.stats .stat{padding:15px}.stat strong{font-size:21px}}@media print{.sidebar,.app-shell header,.back,.detail-head button,.detail-head a{display:none!important}.app-shell{display:block}.content{padding:0}.detail-grid{grid-template-columns:1fr}.panel{box-shadow:none;border-color:#bbb}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(390px,.85fr);background:#fff}.login-art{padding:58px 7vw;background:linear-gradient(145deg,#102f28,#1d594b);color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:560px;height:560px;border:1px solid #ffffff12;border-radius:50%;right:-210px;bottom:-260px;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff04}.login-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.login-brand strong{display:block;font-size:23px}.login-brand span{display:block;font-size:10px;letter-spacing:.25em;color:#c5d8d2}.login-art h1{font-size:48px;line-height:1.08;max-width:620px;margin:12px 0 18px;position:relative;z-index:1}.login-art p{max-width:580px;color:#d4e3de;font-size:17px;line-height:1.65;position:relative;z-index:1}.login-feature{display:flex;gap:12px;align-items:center;color:#d9b44a;font-weight:700;position:relative;z-index:1}.login-panel{display:grid;place-items:center;padding:40px}.login-panel form{width:min(420px,100%)}.login-title h2{font-size:32px;margin:0 0 8px}.login-title p{margin:0 0 30px;color:#71827b}.login-panel label,.compact-form label{display:grid;gap:8px;margin-bottom:17px;font-size:13px;font-weight:700;color:#52635d}.input-icon{display:flex;align-items:center;gap:10px;border:1px solid #d8e2de;background:#fbfcfb;border-radius:10px;padding:0 13px}.input-icon:focus-within{border-color:#4f887a;box-shadow:0 0 0 3px #4f887a18}.input-icon svg{color:#6e817a}.input-icon input{border:0;background:transparent;outline:0;width:100%;padding:13px 0}.login-button{width:100%;margin-top:6px;padding:13px}.login-note{display:block;margin-top:18px;color:#788881;text-align:center}.error-box{background:#fbeaea;color:#963c3c;border-radius:9px;padding:11px 13px;margin-bottom:18px;font-size:13px}.logout-button{margin-top:12px;border:1px solid #ffffff22;background:#ffffff0b;color:#e5efec;border-radius:8px;padding:8px 10px;display:flex;gap:8px;align-items:center;cursor:pointer}.management-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:20px;align-items:start}.manage-list{display:grid;gap:9px}.manage-row{display:grid;grid-template-columns:40px minmax(150px,1fr) minmax(150px,1fr) 80px 38px 38px;gap:9px;align-items:center;background:#f7f9f8;border:1px solid #e6ece9;border-radius:11px;padding:9px}.manage-row.type-row{grid-template-columns:40px 1fr 38px 38px}.manage-row input,.compact-form input{width:100%;border:1px solid #d8e2de;background:#fff;border-radius:8px;padding:10px;outline:0}.manage-icon{width:36px;height:36px;border-radius:9px;background:#e8f1ed;color:#1d5a4b;display:grid;place-items:center}.order-input{text-align:center}.compact-form{position:sticky;top:106px}.compact-form .primary{width:100%}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-art{min-height:330px;padding:35px}.login-art h1{font-size:36px}.login-feature{display:none}.login-panel{padding:35px 20px}.management-grid{grid-template-columns:1fr}.compact-form{position:static}.manage-row{grid-template-columns:36px 1fr 1fr 65px 34px 34px}}@media(max-width:620px){.login-art{min-height:260px}.login-art h1{font-size:30px}.login-art p{font-size:14px}.manage-row,.manage-row.type-row{grid-template-columns:36px 1fr 34px 34px}.manage-row input:nth-of-type(2),.manage-row .order-input{grid-column:2/5}.manage-row.type-row input{grid-column:auto}}.header-actions{display:flex;gap:.7rem;align-items:center}.badge{display:inline-flex;align-items:center;gap:.4rem;background:#eef4f0;color:#1f5b43;border-radius:999px;padding:.55rem .8rem;font-weight:700}.error-banner{margin:0 0 1rem;padding:.85rem 1rem;border-radius:10px;background:#fff0f0;color:#9d2424;border:1px solid #efc7c7}.date-builder{border:1px solid var(--line,#dfe5e1);border-radius:14px;padding:1rem;background:#fafcfb}.date-builder-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.date-builder-head small{display:block;color:#6c7771;margin-top:.2rem}.date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.date-row{display:flex;gap:.5rem;align-items:center}.date-row input{flex:1}.icon-button.danger{color:#b63333}.test-banner{background:#fff4ce;color:#6b5310;padding:.55rem 1rem;text-align:center;font-weight:800;border-bottom:1px solid #e8d68f}@media(max-width:760px){.header-actions{width:100%}.header-actions button{flex:1}.date-grid{grid-template-columns:1fr}.date-builder-head{align-items:flex-start;flex-direction:column}}.db-status{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;margin:16px 0;font-size:13px}.db-status div{display:flex;flex-direction:column;gap:3px}.db-status.connected{background:#eaf6ef;color:#185b3b;border:1px solid #b9dfc8}.db-status.disconnected{background:#fff1ef;color:#8b2e24;border:1px solid #efc1bb}.login-note.warning{color:#8b2e24}.select-with-action{display:flex;gap:8px;align-items:center}.select-with-action select{flex:1;min-width:0}.mini-retry{width:42px;height:42px;border:1px solid #d7e1dd;background:#fff;border-radius:10px;display:grid;place-items:center;color:#1d6555;cursor:pointer}.form-alert{padding:12px 14px;border-radius:10px;margin-bottom:18px;font-size:14px}.form-alert.error{background:#fff0ef;border:1px solid #efc0bb;color:#9c2f28}.calendar-panel{padding:0;overflow:hidden}.calendar-toolbar{padding:24px 26px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.calendar-toolbar h2{margin:0 0 4px}.calendar-toolbar p{margin:0;color:var(--muted)}.calendar-controls{padding:14px 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fbfdfc}.calendar-nav,.view-switch{display:flex;align-items:center;gap:8px}.calendar-nav h3{margin:0 0 0 10px;min-width:240px}.view-switch{padding:4px;background:#edf3f0;border-radius:10px}.view-switch button{border:0;background:transparent;padding:8px 15px;border-radius:8px;font-weight:700;color:#46615a;cursor:pointer}.view-switch button.active{background:#fff;color:#123f35;box-shadow:0 1px 4px #0001}.calendar-loading,.calendar-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.weekday-row{display:grid;grid-template-columns:repeat(7,1fr);background:#f5f8f7;border-bottom:1px solid var(--line)}.weekday-row b{padding:11px 14px;color:#60766f;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-day{min-height:145px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.month-day:nth-child(7n){border-right:0}.month-day.muted{background:#f8faf9;color:#9aa9a4}.month-day.today{box-shadow:inset 0 0 0 2px #d9b744}.day-number{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.day-number span{font-weight:800}.day-number small{font-size:10px;color:#71847e}.day-events{display:flex;flex-direction:column;gap:4px}.calendar-event{display:flex;flex-direction:column;padding:7px 8px;border-radius:7px;text-decoration:none;border-left:4px solid #d2ae39;background:#fff9e7;color:#183e35;min-width:0}.calendar-event strong,.calendar-event span,.calendar-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:12px}.calendar-event span{font-size:11px;font-weight:700}.calendar-event small{font-size:10px;color:#60766f}.calendar-event.confirmed{border-left-color:#1b745e;background:#e9f6f1}.calendar-event.provisional{border-left-color:#d4a91d;background:#fff8df}.calendar-event.cancelled{border-left-color:#be4c4c;background:#fceeee;opacity:.75}.calendar-event.compact{padding:5px 6px}.calendar-event.compact small{display:none}.more-events{border:0;background:transparent;color:#17634f;font-weight:700;font-size:11px;text-align:left;cursor:pointer}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));overflow-x:auto;min-height:510px}.week-column{border-right:1px solid var(--line);background:#fff}.week-column:last-child{border-right:0}.week-column.today{background:#fbfdf4}.week-column header{padding:15px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center}.week-column header b{color:#60766f;text-transform:uppercase;font-size:12px}.week-column header span{font-size:25px;font-weight:800}.week-column header small{grid-column:1/3;color:#7a8d87}.week-events{padding:10px;display:flex;flex-direction:column;gap:8px}.empty-day{padding:24px 8px;color:#9aa8a4;text-align:center;font-size:12px}.day-calendar{padding:22px 26px}.day-summary{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#edf6f2;border-radius:10px;margin-bottom:14px;color:#25584b}.day-summary span{color:#627b73}.day-list{display:flex;flex-direction:column;gap:10px}.day-booking-card{display:grid;grid-template-columns:95px 1fr minmax(180px,260px);gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;background:#fff;transition:.15s}.day-booking-card:hover{border-color:#78a99b;box-shadow:0 5px 18px #153f3520;transform:translateY(-1px)}.day-booking-card time{font-size:22px;font-weight:800;color:#174f42}.day-booking-card time small{display:block;font-size:12px;color:#71847e}.day-booking-card h3{margin:6px 0 2px}.day-booking-card p{margin:0;color:#71847e}.day-venue{text-align:right;display:flex;flex-direction:column}.day-venue b{font-size:16px}.day-venue span,.day-venue small{color:#71847e}.calendar-legend{display:flex;gap:18px;padding:12px 26px;border-top:1px solid var(--line);background:#fbfdfc;font-size:12px;color:#60766f}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:50%;background:#d4a91d}.calendar-legend i.confirmed{background:#1b745e}.calendar-legend i.cancelled{background:#be4c4c}@media(max-width:900px){.calendar-toolbar,.calendar-controls{align-items:stretch;flex-direction:column}.calendar-toolbar .search{width:100%}.calendar-nav h3{min-width:0;font-size:16px}.month-grid,.weekday-row{min-width:850px}.month-calendar{overflow-x:auto}.day-booking-card{grid-template-columns:75px 1fr}.day-venue{grid-column:2;text-align:left}.week-calendar{grid-template-columns:repeat(7,220px)}}.detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.cancel-button{border:1px solid #e3a8a8;background:#fff5f4;color:#a33737;border-radius:9px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.cancel-button:hover{background:#fbe6e4}.cancel-button:disabled{opacity:.6;cursor:wait}.inactive-banner{margin:-4px 0 20px;background:#fff4e8;border:1px solid #efcda7;color:#755020;border-radius:11px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:16px}.inactive-banner button{border:0;background:transparent;color:#87510e;font-weight:800;cursor:pointer;text-decoration:underline}@media(max-width:760px){.detail-actions{width:100%;justify-content:flex-start}.detail-actions>*{flex:1}.inactive-banner{align-items:flex-start;flex-direction:column}}.quiet-refresh{color:#71847e;font-size:12px;font-weight:600}.edit-actions{align-items:center}.danger-button{color:#9b2f2f;background:#fdeaea}.danger-button:hover{background:#f8d8d8}.function-sheet-editor{max-width:1280px}.function-sheet-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.function-sheet-actions button{display:inline-flex;align-items:center;gap:7px}.template-section{background:#fbfcfb;border:1px solid #e1e8e4;border-radius:12px;padding:18px}.template-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-fields label{display:grid;grid-template-columns:minmax(160px,.55fr) 1fr;gap:10px;align-items:stretch}.template-fields label span{background:#252525;color:#fff;padding:11px 12px;border-radius:8px;font-weight:700;font-size:13px}.template-fields textarea,.menu-line-grid textarea{width:100%;border:1px solid #d8e2de;border-radius:8px;padding:10px;resize:vertical}.invoice-grid{display:grid;grid-template-columns:minmax(220px,1.4fr) 150px 100px 170px 40px;gap:9px;align-items:center;margin-bottom:8px}.invoice-grid input{width:100%;border:1px solid #d8e2de;border-radius:8px;padding:10px}.invoice-head{background:#252525;color:#fff;padding:9px 10px;border-radius:8px}.invoice-total{display:flex;justify-content:flex-end;gap:35px;border-top:2px solid #202020;padding:12px 50px 0 0;color:#c91f1f;font-size:16px}.menu-line-grid{display:grid;grid-template-columns:150px 1fr 40px;gap:9px;align-items:start;margin-bottom:9px}.menu-line-grid input{border:1px solid #d8e2de;border-radius:8px;padding:10px}.editor-section{margin-top:24px}.section-title{margin-bottom:13px}@media(max-width:850px){.template-fields,.template-fields label{grid-template-columns:1fr}.invoice-grid{grid-template-columns:1fr 1fr}.invoice-grid strong{grid-column:1}.invoice-head{display:none}.menu-line-grid{grid-template-columns:1fr}.function-sheet-actions{width:100%}.function-sheet-actions button{flex:1}.invoice-total{padding-right:0}}.function-sheets-page{max-width:1500px}.function-sheet-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:18px 0}.function-sheet-toolbar .search-box{max-width:520px;flex:1}.sheet-kpis{display:flex;gap:10px}.sheet-kpis span{background:#edf4f1;border-radius:10px;padding:9px 13px;color:#315b50}.function-sheet-list{border:1px solid #e0e7e3;border-radius:12px;overflow:hidden}.function-sheet-row{display:grid;grid-template-columns:135px minmax(220px,1.5fr) minmax(150px,1fr) minmax(160px,1fr) 120px 125px minmax(190px,auto);gap:13px;align-items:center;padding:13px 15px;border-bottom:1px solid #e7ece9}.function-sheet-row:last-child{border-bottom:0}.function-sheet-row>span{min-width:0}.function-sheet-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.function-sheet-row small{display:block;color:#6f7f79;margin-top:3px}.function-sheet-row-head{background:#f3f7f5;color:#52665f;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.sheet-actions{display:flex;gap:7px;align-items:center}.sheet-actions button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.sheet-state{display:inline-block;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.sheet-state.ready{background:#e4f4ed;color:#147257}.sheet-state.pending{background:#fff3d6;color:#9a6b00}.empty-state{padding:34px;text-align:center;color:#6c7c76}@media(max-width:1100px){.function-sheet-row{grid-template-columns:110px 1.5fr 1fr 120px 170px}.function-sheet-row>span:nth-child(4),.function-sheet-row>span:nth-child(6){display:none}.function-sheet-row-head>span:nth-child(4),.function-sheet-row-head>span:nth-child(6){display:none}}@media(max-width:760px){.function-sheet-toolbar{align-items:stretch;flex-direction:column}.sheet-kpis{justify-content:space-between}.function-sheet-row{grid-template-columns:90px 1fr}.function-sheet-row>span{display:none!important}.function-sheet-row>span:nth-child(1),.function-sheet-row>span:nth-child(2),.function-sheet-row>span:last-child{display:block!important}.function-sheet-row>span:last-child{grid-column:1/-1}.function-sheet-row-head{display:none}}.sheet-actions .button-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.function-sheet-editor .panel-head{position:sticky;top:0;z-index:5;background:#fff;padding-bottom:14px;border-bottom:1px solid #e3ebe7}.function-sheet-editor .editor-section{scroll-margin-top:110px}.function-sheet-editor input,.function-sheet-editor textarea{font:inherit}.function-sheet-editor textarea{min-height:42px}.function-sheet-editor .form-grid label{font-weight:700;color:#344f47}.function-sheet-editor .form-grid input,.function-sheet-editor .form-grid textarea{margin-top:6px;font-weight:400;color:#102b25}.connection-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 14px}.connection-choice button{display:flex;align-items:flex-start;gap:10px;text-align:left;border:1px solid #d7e2de;background:#f5f8f7;border-radius:12px;padding:13px;color:#173b34;cursor:pointer}.connection-choice button.selected{border-color:#1f6a59;background:#e8f5ef;box-shadow:0 0 0 2px #1f6a591a}.connection-choice button span{display:flex;flex-direction:column;gap:3px}.connection-choice button small{color:#667b75;font-weight:400;line-height:1.25}.field-help{display:block;margin-top:5px;color:#6c7e79;font-weight:400;font-size:.76rem}@media(max-width:640px){.connection-choice{grid-template-columns:1fr}}.function-sheet-load-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.function-sheet-load-state p{color:#6b7d76;margin:0}.function-sheet-load-state .form-alert{width:min(720px,100%)}.function-sheet-load-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.loading-spinner{width:34px;height:34px;border:3px solid #dce8e3;border-top-color:#176351;border-radius:50%;animation:cynergy-spin .8s linear infinite}@keyframes cynergy-spin{to{transform:rotate(360deg)}}.booking-display-toggle{display:flex;gap:8px;padding:10px 26px 0;background:#fff}.booking-display-toggle button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#f2f6f4;color:#38574f;border-radius:9px;padding:9px 14px;font-weight:800;cursor:pointer}.booking-display-toggle button.active{background:#195f50;color:#fff;border-color:#195f50;box-shadow:0 3px 10px #174f4220}.room-grid-wrap{overflow:auto;max-height:calc(100vh - 310px);min-height:480px;background:#fff}.room-grid{position:relative;display:grid;min-width:max-content;background:#fff;isolation:isolate}.room-grid-corner,.room-grid-venue{position:sticky;top:0;z-index:8;background:#243c36;color:#fff;border-right:1px solid #60736d;border-bottom:1px solid #60736d;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;padding:7px;text-align:center}.room-grid-corner{left:0;z-index:10}.room-grid-time{position:sticky;left:0;z-index:6;background:#f4f7f6;border-right:1px solid #ccd7d3;border-bottom:1px solid #ccd7d3;color:#4d625c;display:flex;align-items:flex-start;justify-content:flex-end;padding:3px 9px 0 3px;font-size:11px;font-weight:800}.room-grid-time.half{border-bottom-color:#e7ecea}.room-grid-cell{border-right:1px solid #dbe3df;border-bottom:1px solid #cfd9d5;background:#fbfcfb}.room-grid-cell.half{border-bottom-color:#edf1ef}.room-grid-booking{z-index:4;margin:2px 3px;border-radius:6px;padding:5px 7px;overflow:hidden;text-decoration:none;color:#173f35;border-left:4px solid #d4a91d;background:#fff2b7;box-shadow:0 1px 3px #0002;display:flex;flex-direction:column;min-height:28px}.room-grid-booking:hover{z-index:7;box-shadow:0 6px 16px #0003;transform:translateY(-1px)}.room-grid-booking strong,.room-grid-booking span,.room-grid-booking small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-grid-booking strong{font-size:12px}.room-grid-booking span{font-size:10px;font-weight:700}.room-grid-booking small{font-size:9px;color:#5e706a}.room-grid-booking.confirmed{border-left-color:#14745b;background:#dff3eb}.room-grid-booking.provisional{border-left-color:#d3a518;background:#fff4c9}.room-grid-booking.cancelled{border-left-color:#be4c4c;background:#fbe4e4;opacity:.7}.room-grid-empty{position:sticky;left:88px;grid-column:2;grid-row:2/8;padding:30px;color:#74837e}@media(max-width:760px){.booking-display-toggle{padding:10px 16px 0;overflow-x:auto}.booking-display-toggle button{white-space:nowrap}.room-grid-wrap{max-height:calc(100vh - 280px)}.room-grid{grid-auto-columns:minmax(145px,1fr)}}.room-grid-wrap{overflow-x:auto!important;overflow-y:auto;scrollbar-gutter:stable both-edges;overscroll-behavior-x:contain}.room-grid{width:max-content;min-width:100%}.room-grid-scroll-controls{display:flex;gap:7px}.room-grid-scroll-controls button{display:flex;align-items:center;gap:5px;white-space:nowrap}.notification-button{position:relative;border:1px solid var(--line);background:#f2f6f4;color:#214f43;border-radius:10px;width:43px;height:43px;display:grid;place-items:center;cursor:pointer}.notification-button span{position:absolute;right:-5px;top:-6px;background:#c13e3e;color:#fff;font-size:10px;font-weight:900;border-radius:999px;min-width:19px;height:19px;padding:0 4px;display:grid;place-items:center;border:2px solid #fff}.notification-popover{position:fixed;z-index:1000;top:78px;right:24px;width:min(430px,calc(100vw - 28px));max-height:70vh;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 55px #153c3338;overflow:hidden}.notification-head{display:flex;justify-content:space-between;align-items:center;padding:16px 17px;border-bottom:1px solid var(--line)}.notification-head div{display:flex;flex-direction:column}.notification-head small{color:var(--muted);margin-top:2px}.notification-list{max-height:52vh;overflow:auto}.notification-item{display:flex;gap:10px;padding:13px 12px;border-bottom:1px solid #edf1ef;align-items:flex-start}.notification-item.reminder{background:#fff9df}.notification-icon{width:32px;height:32px;border-radius:9px;background:#e7f1ed;display:grid;place-items:center;color:#165f50;flex:0 0 auto}.notification-item.reminder .notification-icon{background:#fff0ad;color:#9b7210}.notification-content{border:0;background:none;text-align:left;display:flex;flex-direction:column;gap:3px;cursor:pointer;flex:1;color:inherit}.notification-content span{font-size:13px;line-height:1.35;color:#425c55}.notification-content small{color:#7b8c87;font-size:11px}.notification-empty{padding:32px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#6f817b}.notification-manage{width:100%;border:0;border-top:1px solid var(--line);background:#f4f7f6;padding:12px;font-weight:800;color:#185e50;cursor:pointer}.reminders-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:20px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title h2{margin:0}.section-title p{margin:4px 0 0;color:var(--muted)}.reminder-list{display:flex;flex-direction:column;gap:10px}.reminder-list article{display:flex;align-items:flex-start;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfcfb}.reminder-list article>div{display:flex;flex-direction:column;gap:3px}.reminder-list span,.reminder-list small{color:var(--muted);font-size:12px}.reminder-list p{margin:6px 0;font-size:13px}.danger{color:#b53d3d!important}@media(max-width:900px){.reminders-layout{grid-template-columns:1fr}.notification-popover{right:12px;top:68px}.room-grid-scroll-controls{width:100%;justify-content:flex-end}}.readonly-badge{display:inline-flex;align-items:center;gap:5px;background:#eef2f0;color:#657871;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.readonly-panel{opacity:.65}.manage-row input:disabled,.readonly-panel input:disabled{background:#f2f4f3;color:#53665f}.icon-button:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}.share-button{border-color:#25d366!important;color:#117a37!important;background:#f1fff6!important}.share-button:hover{background:#e4fbed!important}.share-preference{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:14px 0 6px;padding:14px 16px;border:1px solid #dfe9e4;border-radius:12px;background:#f8fbf9}.share-preference label{min-width:260px;font-weight:700}.share-preference select{display:block;width:100%;margin-top:6px;border:1px solid #ccd9d3;border-radius:8px;padding:10px;background:#fff}.share-preference p{margin:0;max-width:650px;color:#5e6b65;line-height:1.45}.compact-share-preference{margin-bottom:20px}@media(max-width:760px){.share-preference{display:block}.share-preference label{min-width:0}.share-preference p{margin-top:10px}.share-button{min-height:44px}}.pack-toolbar{display:grid;grid-template-columns:minmax(230px,320px) 1fr auto;gap:18px;align-items:end;padding:18px;border:1px solid #dfe7e3;border-radius:14px;background:#f7faf8;margin:16px 0}.pack-toolbar label{display:grid;gap:7px;font-weight:700}.pack-toolbar input{min-height:44px;border:1px solid #ccd9d4;border-radius:10px;padding:0 12px}.pack-range{display:flex;align-items:center;gap:9px;min-height:44px}.pack-range svg{color:#1d6556}.pack-actions{display:flex;gap:10px}.pack-summary{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.pack-summary span{padding:8px 12px;border-radius:999px;background:#edf3f0;font-size:13px}.pack-summary .ready{background:#e2f3eb;color:#126049}.pack-summary .pending{background:#fff4d9;color:#895e00}.pack-list{border:1px solid #dfe7e3;border-radius:14px;overflow:hidden}.pack-row{display:grid;grid-template-columns:42px 170px minmax(220px,1.4fr) minmax(170px,1fr) 110px 120px;gap:14px;align-items:center;padding:13px 15px;border-bottom:1px solid #e7ece9;cursor:pointer}.pack-row:last-child{border-bottom:0}.pack-row:hover{background:#f5faf7}.pack-row.disabled{cursor:not-allowed;opacity:.55;background:#fafafa}.pack-row div{display:grid;gap:3px}.pack-row small{color:#71807a}.pack-check{border:0;background:transparent;color:#1d6556;padding:0}.function-pack-page .button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}@media(max-width:900px){.pack-toolbar{grid-template-columns:1fr}.pack-actions{flex-wrap:wrap}.pack-row{grid-template-columns:36px 1fr 1fr}.pack-row>div:nth-of-type(3),.pack-row>div:nth-of-type(4),.pack-row>div:nth-of-type(5){display:none}}.revenue-page{display:grid;gap:18px}.revenue-filter{display:flex;justify-content:space-between;gap:26px;align-items:end;padding:22px}.revenue-filter h2{margin:2px 0 6px;font-size:27px}.revenue-filter p{margin:0;color:var(--muted);max-width:650px}.revenue-controls{display:flex;align-items:end;justify-content:flex-end;gap:9px;flex-wrap:wrap}.revenue-controls label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#4d625b}.revenue-controls input,.revenue-controls select{height:42px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;color:#173b32}.preset-buttons{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;height:42px}.preset-buttons button,.revenue-tabs button{border:0;background:#f1f5f3;color:#315b50;font-weight:800;padding:0 12px;cursor:pointer}.preset-buttons button+button{border-left:1px solid var(--line)}.revenue-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.revenue-kpis article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px 18px;box-shadow:var(--shadow);display:grid;gap:7px}.revenue-kpis article>span{display:flex;align-items:center;gap:7px;color:#60736d;font-size:12px;font-weight:800}.revenue-kpis article>span svg{width:18px}.revenue-kpis strong{font-size:25px;color:#123c31}.revenue-kpis small{display:flex;align-items:center;gap:3px;color:#71817c}.revenue-kpis small svg{width:15px}.positive{color:#087c55!important}.negative{color:#b33d45!important}.revenue-main{overflow:hidden}.revenue-tabs{display:flex;gap:5px}.revenue-tabs button{height:38px;border-radius:9px;display:flex;align-items:center;gap:5px}.revenue-tabs button.active{background:#195f50;color:#fff}.revenue-spark{height:210px;padding:20px 20px 8px;display:flex;gap:5px;align-items:end;border-bottom:1px solid var(--line);overflow-x:auto;background:linear-gradient(#fff,#f9fbfa)}.revenue-spark>div{height:100%;min-width:18px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.revenue-spark i{width:100%;min-height:3px;border-radius:5px 5px 1px 1px;background:#1b7761}.revenue-spark i.negative{background:#be4b54}.revenue-spark small{font-size:9px;color:#7a8984}.revenue-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:22px}.revenue-columns h4,.revenue-functions h4{margin:0 0 14px}.metric-bar{display:grid;gap:6px;margin:0 0 13px}.metric-bar>div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.metric-bar>div span{color:#536861}.metric-bar i{height:8px;border-radius:99px;background:#edf2f0;overflow:hidden}.metric-bar em{display:block;height:100%;background:#d4ad33;border-radius:99px}.revenue-columns>div:first-child .metric-bar em{background:#1b7761}.revenue-functions{padding:0 22px 22px}.table-scroll{overflow:auto}.table-scroll table{width:100%;border-collapse:collapse;min-width:650px}.table-scroll th{text-align:left;color:#6a7b75;font-size:10px;text-transform:uppercase;letter-spacing:.05em;background:#f4f7f5}.table-scroll th,.table-scroll td{padding:11px 12px;border-bottom:1px solid #e7ece9}.table-scroll td{font-size:13px}.table-scroll td small{display:block;color:#788782;margin-top:2px}.revenue-transactions{max-height:540px}.revenue-notes{display:flex;gap:8px;flex-wrap:wrap}.revenue-notes span{background:#eef4f1;border:1px solid #dce7e2;border-radius:999px;padding:7px 11px;color:#526760;font-size:11px}.error-banner{display:flex;align-items:center;justify-content:space-between;background:#fff0ef;color:#a92f31;border:1px solid #f0c5c3;border-radius:12px;padding:13px 15px}.error-banner button{border:0;border-radius:8px;padding:7px 11px;font-weight:800}.eyebrow{font-size:11px!important;font-weight:900;letter-spacing:.16em;color:#ba8d13!important}@media(max-width:1100px){.revenue-filter{display:block}.revenue-controls{justify-content:flex-start;margin-top:16px}.revenue-kpis{grid-template-columns:1fr 1fr}}@media(max-width:700px){.revenue-kpis,.revenue-columns{grid-template-columns:1fr}.revenue-controls{display:grid;grid-template-columns:1fr 1fr}.preset-buttons,.revenue-controls .primary{grid-column:1/-1}.revenue-filter{padding:17px}.revenue-tabs{overflow-x:auto}.revenue-main .panel-head{align-items:flex-start;gap:10px;flex-direction:column}.revenue-spark{height:170px}}.revenue-chart-wrap{width:100%;overflow-x:auto;margin:8px 0 28px}.revenue-line-chart{width:100%;min-width:650px;height:270px;background:linear-gradient(180deg,#f8fbfa,#fff);border:1px solid #dfe9e5;border-radius:16px}.revenue-line-chart line{stroke:#ccd9d4;stroke-width:1}.revenue-line-chart path{fill:none;stroke:#176653;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.revenue-line-chart circle{fill:#e4b93f;stroke:#fff;stroke-width:3}.revenue-line-chart text{font-size:12px;fill:#687a74}.chart-empty{display:grid;place-items:center;min-height:220px;border:1px dashed #cbd9d4;border-radius:14px;color:#6c7d77}.revenue-graphic-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:10px 0 30px}.revenue-graphic-grid>div{border:1px solid #e0e9e6;border-radius:16px;padding:20px}.donut-layout{display:flex;align-items:center;gap:24px}.donut-chart{width:220px;max-width:45%;transform:rotate(-90deg)}.donut-chart circle{fill:none;stroke-width:28}.donut-bg{stroke:#edf2f0}.donut-segment{transition:stroke-dasharray .3s}.segment-0{stroke:#176653}.segment-1{stroke:#e1b532}.segment-2{stroke:#6d9f91}.segment-3{stroke:#9c6f54}.donut-chart text{transform:rotate(90deg);transform-origin:110px 110px;fill:#64736e;font-size:12px}.donut-chart .donut-total{font-size:16px;font-weight:800;fill:#142d25}.chart-legend{flex:1;display:grid;gap:11px}.chart-legend div{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center}.chart-legend i{width:10px;height:10px;border-radius:50%}.legend-0{background:#176653}.legend-1{background:#e1b532}.legend-2{background:#6d9f91}.legend-3{background:#9c6f54}.horizontal-chart{display:grid;gap:13px}.horizontal-chart>div{display:grid;grid-template-columns:minmax(90px,140px) 1fr auto;align-items:center;gap:10px}.horizontal-chart span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.horizontal-chart i{height:11px;background:#edf2f0;border-radius:999px;overflow:hidden}.horizontal-chart em{display:block;height:100%;background:#176653;border-radius:999px}.horizontal-chart b{font-size:13px}@media(max-width:900px){.revenue-graphic-grid{grid-template-columns:1fr}.donut-layout{flex-direction:column}.donut-chart{max-width:220px}.chart-legend{width:100%}}.function-sheet-periods{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.function-sheet-periods button{border:0;border-radius:10px;padding:10px 14px;background:#edf3f0;color:#173f35;font-weight:700}.function-sheet-periods button.active{background:#176451;color:#fff}.function-sheet-date-range{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.function-sheet-date-range label{display:grid;gap:5px;font-weight:700}.function-sheet-date-range input{padding:10px;border:1px solid #d6e0dc;border-radius:9px}.customers-page{display:grid;gap:20px}.customer-list-panel,.customer-detail-panel{padding:24px}.panel-actions{display:flex;gap:9px;flex-wrap:wrap}.customer-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0}.customer-search{display:flex;align-items:center;gap:8px;max-width:620px;flex:1;border:1px solid var(--line);border-radius:11px;padding:0 12px;background:#fff}.customer-search input{border:0!important;outline:0;width:100%;height:44px}.toggle-line{display:flex;align-items:center;gap:7px;font-weight:700;color:#466159}.customer-table-wrap{border:1px solid var(--line);border-radius:14px;overflow:auto}.customer-table{width:100%;border-collapse:collapse;min-width:900px}.customer-table th{text-align:left;background:#f3f7f5;color:#5c7169;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.customer-table th,.customer-table td{padding:13px 15px;border-bottom:1px solid #e5ece8}.customer-table tbody tr{cursor:pointer}.customer-table tbody tr:hover{background:#f5faf7}.customer-table td{font-size:14px}.customer-table td strong,.customer-table td span{display:block}.customer-table td small{display:block;color:#788983;margin-top:3px}.table-state{padding:28px;text-align:center;color:#6e7f79}.text-back{display:flex;align-items:center;gap:5px;border:0;background:none;padding:0;color:#31685a;font-weight:800;cursor:pointer;margin-bottom:8px}.corporate-summary-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-top:18px}.corporate-summary-grid label,.customer-form-grid label,.notes-field{display:grid;gap:6px;font-weight:750}.corporate-summary-grid input,.corporate-summary-grid select,.customer-form-grid input,.customer-form-grid select,.notes-field textarea{border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff}.corporate-summary-grid .span-2,.customer-form-grid .span-2{grid-column:span 2}.toggle-card{display:flex!important;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#f7faf8}.toggle-card span{display:grid}.toggle-card small{color:#71827c;font-weight:500}.customer-tabs{display:flex;gap:5px;margin:22px 0 16px;border-bottom:1px solid var(--line)}.customer-tabs button{display:flex;align-items:center;gap:7px;border:0;background:none;padding:11px 14px;font-weight:800;color:#60746d;border-bottom:3px solid transparent;cursor:pointer}.customer-tabs button.active{color:#176451;border-color:#d5ad32}.customer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.customer-form-grid label small{font-weight:500;color:#71817b}.account-notice{background:#fff7dc;border:1px solid #ead69a;border-radius:10px;padding:13px;color:#6f5714}.notes-field textarea{resize:vertical}.corporate-hero{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;background:#f5f9f7;border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:16px}.corporate-hero>div{display:flex;align-items:center;gap:10px}.corporate-hero svg{color:#1b6756}.corporate-hero span{display:grid}.corporate-hero small{color:#71817b}.customer-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.customer-view-grid>div{display:grid;gap:5px;border:1px solid var(--line);border-radius:11px;padding:13px}.customer-view-grid small{color:#71817b}.account-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.account-cards article{display:grid;gap:6px;border:1px solid var(--line);border-radius:13px;padding:16px;background:#f8fbf9}.account-cards small{color:#6f817a}.account-cards strong{font-size:20px}.notes-view{white-space:pre-wrap;border:1px solid var(--line);border-radius:12px;padding:18px;min-height:180px}.select-customer-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#edf8f3;border:1px solid #bfe1d3;border-radius:12px;padding:14px 16px;margin-top:16px}.select-customer-banner div{display:grid;gap:3px}.select-customer-banner span{color:#61756e}.booking-customer-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#f5f9f7;border:1px solid var(--line);border-radius:14px;padding:15px 16px;margin:16px 0}.booking-customer-card>div:first-child{display:flex;align-items:center;gap:10px}.booking-customer-card>div:first-child span{display:grid}.booking-customer-card small{color:#6e8079}.booking-customer-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.booking-customer-actions label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 9px}.booking-customer-actions input{height:40px;border:0;outline:0;min-width:210px}.booking-customer-actions select{height:42px;border:1px solid var(--line);border-radius:9px;min-width:230px;padding:0 10px;background:#fff}@media(max-width:900px){.corporate-summary-grid,.customer-form-grid,.corporate-hero,.account-cards,.customer-view-grid{grid-template-columns:1fr}.corporate-summary-grid .span-2,.customer-form-grid .span-2{grid-column:auto}.booking-customer-card,.select-customer-banner{align-items:stretch;flex-direction:column}.booking-customer-actions{display:grid}.booking-customer-actions input,.booking-customer-actions select{width:100%;min-width:0}.customer-toolbar{align-items:stretch;flex-direction:column}}.analytics-section{padding:4px 22px 24px;color:#111827}.analytics-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:4px 0 22px;padding:14px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:13px}.analytics-controls label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#1f2937}.analytics-controls select{height:40px;border:1px solid #94a3b8;border-radius:9px;padding:0 10px;background:#fff;color:#111827}.chart-key{margin-left:auto;display:flex;gap:14px;align-items:center;font-size:12px;font-weight:800;color:#111827}.chart-key span{display:flex;align-items:center;gap:6px}.chart-key i{width:22px;height:9px;border-radius:99px;border:1px solid rgba(15,23,42,.14)}.key-2025,.bar-2025{background:#1d4ed8}.key-2026,.bar-2026{background:#c2410c}.room-comparison-chart{display:grid;gap:12px;margin:10px 0 30px}.room-comparison-row{display:grid;grid-template-columns:minmax(120px,190px) 1fr 72px;gap:12px;align-items:center}.room-comparison-row>span{font-size:13px;font-weight:800;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-bars{display:grid;gap:6px}.room-bars i{position:relative;height:24px;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:7px;overflow:hidden}.room-bars em{display:block;height:100%;min-width:3px;border-radius:6px}.room-bars b{position:absolute;left:8px;top:3px;font-size:11px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9)}.room-comparison-row>strong{text-align:right;font-size:12px;font-weight:900}.year-trend-chart{width:100%;min-width:650px;height:290px;background:#fff;border:1px solid #cbd5e1;border-radius:16px}.year-trend-chart line{stroke:#94a3b8;stroke-width:1.25}.year-trend-chart path{fill:none;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}.trend-2025{stroke:#1d4ed8}.trend-2026{stroke:#c2410c}.point-2025{fill:#1d4ed8;stroke:#fff;stroke-width:2}.point-2026{fill:#c2410c;stroke:#fff;stroke-width:2}.year-trend-chart text{font-size:11px;font-weight:700;fill:#334155}@media(max-width:700px){.room-comparison-row{grid-template-columns:95px 1fr 58px}.chart-key{margin-left:0}.analytics-section{padding:4px 12px 18px}}.restaurant-page{display:grid;gap:20px}.restaurant-hero{background:linear-gradient(120deg,#143a31,#276151);color:#fff;border-radius:18px;padding:28px 30px;display:flex;align-items:end;justify-content:space-between;gap:20px}.restaurant-hero h2{font-size:30px;margin:4px 0 8px}.restaurant-hero p{margin:0;color:#dce8e4}.restaurant-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.restaurant-stats article{background:#fff;border:1px solid #dfe7e3;border-radius:14px;padding:18px;display:flex;align-items:center;gap:13px}.restaurant-stats svg{color:#1c5a4b}.restaurant-stats strong{display:block;font-size:24px}.restaurant-stats span{font-size:12px;color:#71817b}.restaurant-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.restaurant-toolbar label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#52655e}.restaurant-toolbar input,.restaurant-toolbar select{height:42px;border:1px solid #d8e2de;border-radius:9px;padding:0 10px;background:#fff}.restaurant-toolbar .search{margin-left:auto}.restaurant-day-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:15px}.restaurant-column{border:1px solid #dfe7e3;border-radius:14px;overflow:hidden;background:#f8faf9}.restaurant-column>header{padding:16px;background:#fff;border-bottom:1px solid #dfe7e3;display:flex;justify-content:space-between;gap:10px}.restaurant-column h3{margin:0}.restaurant-column header p{margin:4px 0 0;color:#71817b;font-size:11px;max-width:220px}.restaurant-column header>b{font-size:12px;color:#1c5a4b;white-space:nowrap}.restaurant-booking-list{padding:10px;display:grid;gap:8px}.restaurant-booking{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #dfe7e3;border-left:4px solid #1c5a4b;border-radius:11px;background:#fff}.restaurant-booking.provisional{border-left-color:#c28a1a}.restaurant-booking.cancelled,.restaurant-booking.no_show{opacity:.55;border-left-color:#a23d3d}.restaurant-booking.seated{border-left-color:#2d72b8}.restaurant-booking.completed{border-left-color:#66746f}.restaurant-booking time{font-size:18px;font-weight:900;color:#183f35}.restaurant-booking-main{display:grid;gap:3px}.restaurant-booking-main span,.restaurant-booking-main small{font-size:11px;color:#70817b}.restaurant-booking select{max-width:110px;border:1px solid #d8e2de;border-radius:8px;padding:7px;background:#fff;font-size:10px;font-weight:800}.restaurant-empty{text-align:center;color:#84928d;padding:32px 10px}.modal-backdrop{position:fixed;inset:0;background:#102b247d;z-index:100;display:grid;place-items:center;padding:18px}.reservation-modal{width:min(880px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 30px 80px #0004}.reservation-modal .panel-head{border-bottom:1px solid #e4ebe7;padding-bottom:14px}.reservation-modal .icon-button{font-size:28px}.access-warning{padding:12px;border:1px solid #e3c568;background:#fff8dd;color:#705817;border-radius:10px;font-size:12px;font-weight:750}.error-banner{background:#fdeaea;border:1px solid #efbaba;color:#8c3030;padding:11px 14px;border-radius:10px;margin:10px 0}@media(max-width:1100px){.restaurant-day-grid{grid-template-columns:1fr}.restaurant-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.restaurant-hero{align-items:stretch;flex-direction:column}.restaurant-stats{grid-template-columns:1fr}.restaurant-toolbar .search{margin-left:0;width:100%}.restaurant-toolbar .search input{width:100%}.restaurant-booking{grid-template-columns:52px 1fr}.restaurant-booking select{grid-column:2;width:100%;max-width:none}.reservation-modal .form-grid{grid-template-columns:1fr}.reservation-modal .span-2{grid-column:auto}}.member-lookup-label{align-self:end}.member-lookup-row{display:flex;gap:10px;align-items:stretch}.member-lookup-row input{flex:1}.member-lookup-row button{white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:7px}.member-found{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #9bcdbd;background:#eef9f5;border-radius:10px;color:#124f42}.member-found div{display:flex;flex-direction:column}.member-found span{font-size:12px;color:#436b63}.online-source{font-weight:700;color:#175f51}.restaurant-booking.pending{border-left-color:#cc8b00;background:#fff9e9}.public-reservation-shell{min-height:100vh;padding:32px 18px;background:linear-gradient(150deg,#103f36 0,#1c6655 38%,#edf4f1 38%,#f7faf8);display:flex;justify-content:center;align-items:flex-start;color:#102b26}.public-reservation-card{width:min(820px,100%);background:#fff;border-radius:22px;box-shadow:0 24px 70px #05231d38;padding:34px;margin:20px 0}.public-reservation-card>header{text-align:center;margin-bottom:26px}.public-reservation-card h1{font-size:clamp(28px,5vw,42px);margin:5px 0}.public-reservation-card header>p:last-child{color:#5a706b}.public-reservation-form{display:grid;grid-template-columns:1fr 1fr;gap:17px}.public-reservation-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px}.public-reservation-form input,.public-reservation-form select,.public-reservation-form textarea{width:100%;border:1px solid #cbd9d5;border-radius:10px;padding:12px 13px;font:inherit;background:#fff;color:#102b26}.public-reservation-form input:focus,.public-reservation-form select:focus,.public-reservation-form textarea:focus{outline:3px solid rgba(27,104,87,.16);border-color:#1b6857}.public-reservation-form .member-lookup-row button{border:0;border-radius:10px;padding:0 16px;background:#e9f3ef;color:#155646;font-weight:800}.public-covers{display:flex;align-items:center;gap:8px;background:#edf6f3;border-radius:10px;padding:12px 14px;align-self:end;min-height:47px}.public-primary{border:0;border-radius:11px;padding:14px 20px;background:#155f4f;color:#fff;font-weight:800;font-size:15px;cursor:pointer}.public-primary:disabled{opacity:.6;cursor:wait}.public-message{margin:0 0 18px;padding:12px 14px;border-radius:10px;background:#fff3d3;color:#795200;font-weight:700}.public-consent{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important}.public-consent input{width:18px!important;height:18px;margin-top:2px}.public-success{width:min(600px,100%);margin-top:12vh;background:#fff;border-radius:22px;box-shadow:0 24px 70px #05231d38;padding:48px;text-align:center}.public-success svg{color:#176b57}.public-success h1{margin:16px 0 8px}.public-success p{color:#5a706b;margin-bottom:24px}@media(max-width:700px){.public-reservation-shell{padding:10px;background:#edf4f1}.public-reservation-card{border-radius:14px;padding:22px 16px;margin:0}.public-reservation-form{grid-template-columns:1fr}.public-reservation-form .span-2{grid-column:1}.member-lookup-row{flex-direction:column}.public-reservation-form .member-lookup-row button{padding:12px}.public-success{margin-top:5vh;padding:32px 20px}}.reservation-card-actions{display:flex;align-items:center;gap:.45rem}.confirmation-actions{display:flex;gap:.35rem}.av-brief-modal{max-width:920px}.av-brief-list{max-height:58vh;overflow:auto;display:grid;gap:.8rem;padding:.25rem}.av-brief-list article{border:1px solid var(--border,#dbe4e1);border-radius:14px;padding:1rem;background:#fff}.av-brief-list article header{display:flex;justify-content:space-between;gap:1rem;color:#31554d}.av-brief-list article h3{margin:.35rem 0}.av-brief-list article p{margin:.25rem 0 .55rem;color:#5c6f69}.av-brief-list ul{margin:.35rem 0 0;padding-left:1.25rem}.av-brief-list li{margin:.3rem 0}.restaurant-booking[title]{cursor:pointer}.danger-button{border:1px solid #d99b9b;background:#fff0f0;color:#982f2f;border-radius:10px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;gap:7px}.permission-checks{border:1px solid #d8e2de;border-radius:12px;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-checks legend{font-weight:850;padding:0 7px}.permission-checks label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.permission-checks .permission-select-all{grid-column:1/-1;border-bottom:1px solid #e4ebe8;padding-bottom:10px;margin-bottom:2px;color:#185f50;font-weight:850}.permission-checks input{width:18px;height:18px}.permission-checks small{grid-column:1/-1;color:#63756f}.membership-report-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid #dfe7e3;border-radius:14px;padding:15px 18px}.membership-report-actions h3,.membership-report-actions p{margin:0}.membership-report-actions p{color:#6a7c76;font-size:12px;margin-top:4px}@media(max-width:700px){.permission-checks{grid-template-columns:1fr}.membership-report-actions{align-items:stretch;flex-direction:column}}.restaurant-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.restaurant-hero-actions .secondary{background:#ffffff18;color:#fff;border-color:#fff5}.restaurant-column>header small{display:block;margin-top:5px;color:#667b74;font-size:10px}.capacity-modal{max-width:760px}.capacity-table-list{display:grid;gap:9px;padding:14px;border:1px solid #dbe5e1;border-radius:12px}.capacity-table-list>header{display:flex;justify-content:space-between;align-items:center}.capacity-table-list>div{display:grid;grid-template-columns:1fr 1fr 42px;gap:10px;align-items:end}.capacity-total{display:flex;justify-content:space-between;padding:14px;border-radius:11px;background:#edf6f3;color:#164f43}.public-covers{flex-wrap:wrap}.public-covers small{width:100%;color:#557068}.analytics-trend{overflow-x:auto}.analytics-trend svg{min-width:720px}.analytics-trend .grid-line{stroke:#e1e9e6;stroke-width:1}.analytics-trend .axis-value{font-size:10px;fill:#698079}.product-card-tools{display:flex;align-items:center;gap:8px}.product-card-tools .danger{color:#a23d3d}@media(max-width:700px){.restaurant-hero-actions{display:grid}.capacity-table-list>div{grid-template-columns:1fr 1fr 38px}}.floor-modal-backdrop{padding:12px}.restaurant-floor-modal{width:min(1500px,98vw);height:min(900px,96vh);overflow:hidden;background:#f5f8f6;border-radius:20px;box-shadow:0 30px 90px #0006;display:grid;grid-template-rows:auto auto auto 1fr}.restaurant-floor-modal>header{padding:18px 22px;background:linear-gradient(115deg,#123d32,#2d6a55);color:#fff;display:flex;align-items:center;justify-content:space-between}.restaurant-floor-modal h2{margin:2px 0 4px}.restaurant-floor-modal header span{font-size:12px;color:#d8e8e2}.restaurant-floor-modal header .icon-button{color:#fff}.floor-toolbar{display:flex;align-items:end;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #dce6e2;flex-wrap:wrap}.floor-toolbar label{display:grid;gap:4px;font-size:11px;font-weight:800}.floor-toolbar select{height:39px;min-width:180px;border:1px solid #d4e0dc;border-radius:8px;padding:0 9px;background:#fff}.floor-mode{display:flex;background:#eaf1ee;padding:4px;border-radius:10px}.floor-mode button{border:0;background:transparent;border-radius:8px;padding:8px 12px;display:flex;gap:7px;align-items:center;font-weight:800;color:#47645b}.floor-mode button.active{background:#fff;color:#124b3d;box-shadow:0 2px 8px #143b2e1c}.restaurant-floor-modal>.error-banner,.restaurant-floor-modal>.success-banner{margin:9px 16px 0}.floor-workspace{min-height:0;padding:14px;display:grid;grid-template-columns:minmax(650px,1fr) 330px;gap:14px}.floor-board{position:relative;min-height:570px;border:1px solid #cbdad4;border-radius:16px;overflow:hidden;background:linear-gradient(90deg,#edf4f1 1px,transparent 1px),linear-gradient(#edf4f1 1px,transparent 1px),#fbfdfc;background-size:22px 22px;box-shadow:inset 0 0 40px #1f5f4810}.floor-zone{position:absolute;border:2px solid #9cbeb2;border-radius:18px;background:#dcece680;display:grid;place-items:start center;padding:8px;pointer-events:none;color:#315e51}.floor-zone b{font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#ffffffc9;border-radius:12px;padding:4px 8px}.zone-deck{background:#d9ebed91;border-color:#75a8ad}.zone-kids{background:#e9efd19e;border-color:#a9b76c}.zone-bar{background:#e7ddd099;border-color:#b69c77}.zone-sushi{background:#f1e4dc9e;border-color:#c59579}.floor-table{position:absolute;z-index:4;border:2px solid #23715b;background:#fff;color:#174c3e;display:grid;place-items:center;padding:2px;box-shadow:0 4px 10px #174c3e28;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.floor-table.round{border-radius:50%}.floor-table.square{border-radius:9px}.floor-table.rectangle{border-radius:8px}.floor-table strong{font-size:12px;line-height:1}.floor-table span{font-size:9px;line-height:1;color:#55756b}.floor-table.reserved{background:#f8e4b6;border-color:#b17b18;color:#72510f}.floor-table.selected{background:#175c4b;color:#fff;border-color:#f2c94c;box-shadow:0 0 0 4px #f2c94c55}.floor-table.selected span{color:#dceae5}.floor-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;color:#7d9089;gap:7px}.floor-empty svg{width:44px;height:44px}.floor-side{min-height:0;overflow:auto;background:#fff;border:1px solid #dce6e2;border-radius:16px;padding:16px;display:flex;flex-direction:column}.floor-side h3{margin:0 0 12px}.floor-reservations{display:grid;gap:7px}.floor-reservations>button{border:1px solid #dce6e2;border-radius:10px;background:#fff;padding:9px;display:grid;grid-template-columns:48px 1fr;text-align:left;gap:8px}.floor-reservations>button.active{border-color:#1c6553;background:#edf7f3}.floor-reservations time{font-weight:900;color:#175747}.floor-reservations span{display:grid}.floor-reservations small{font-size:10px;color:#71827c}.assignment-summary{display:grid;gap:3px;margin-top:12px;padding:12px;border-radius:10px;background:#e9f5f0;color:#1c594a}.assignment-summary.warning{background:#fff3d5;color:#77580d}.assignment-summary span{font-size:11px}.floor-save{margin-top:12px;justify-content:center}.floor-help{font-size:11px;color:#6f807a;margin-top:-5px}.floor-table-editor{display:grid;gap:8px}.floor-table-editor article{display:grid;grid-template-columns:60px 1fr 62px 34px;gap:6px;align-items:end;padding:8px;border:1px solid #e0e8e5;border-radius:10px}.floor-table-editor input,.floor-table-editor select{height:34px;width:100%;min-width:0;border:1px solid #d3dfdb;border-radius:7px;padding:0 6px;background:#fff}.floor-table-editor label{display:grid;gap:2px;font-size:9px;font-weight:800}.floor-table-editor .danger{color:#a33939}@media(max-width:1050px){.restaurant-floor-modal{height:98vh}.floor-workspace{grid-template-columns:1fr;overflow:auto}.floor-board{min-height:550px}.floor-side{overflow:visible}}@media(max-width:700px){.floor-workspace{padding:8px}.floor-board{min-width:700px}.floor-workspace{overflow:auto}.floor-toolbar{align-items:stretch}.floor-mode{width:100%}.floor-mode button{flex:1;justify-content:center}.restaurant-floor-modal>header{align-items:flex-start}.restaurant-floor-modal header span{display:none}}body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.pwa-status-compact{display:flex;align-items:center;gap:6px;margin-top:9px;color:#bdd0c9;font-size:11px;font-weight:700}.pwa-install-link{border:0;background:transparent;color:#d9b44a;padding:5px 0;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;cursor:pointer;text-align:left}.pwa-install-link:hover{color:#f1d57c}.pwa-settings-card{margin-top:20px}.pwa-device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pwa-device-grid article{border:1px solid #dfe7e3;background:#f8faf9;border-radius:12px;padding:16px;display:grid;gap:5px}.pwa-device-grid strong{color:#163f35}.pwa-device-grid span{font-size:12px;color:#687a74;line-height:1.45}.pwa-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.pwa-note{font-size:12px;color:#6b7b76;margin:14px 0 0;line-height:1.5}.ios-install-modal{max-width:560px}.ios-install-steps{display:grid;gap:14px;padding:4px 0 4px 22px}.ios-install-steps li{padding-left:5px}.ios-install-steps li::marker{font-weight:900;color:#1c5a4b}.ios-install-steps li span{display:inline;margin-left:8px;vertical-align:middle}.offline-banner{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:150;background:#8a4518;color:#fff;padding:10px 16px;border-radius:999px;box-shadow:0 8px 30px #0003;font-size:12px;font-weight:800}@media(max-width:800px){.pwa-device-grid{grid-template-columns:1fr}.app-shell header{padding-top:env(safe-area-inset-top)}.sidebar{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}@media(display-mode:standalone){.app-shell header{padding-top:env(safe-area-inset-top);height:calc(86px + env(safe-area-inset-top))}.sidebar{padding-top:calc(24px + env(safe-area-inset-top))}}.users-panel h3{display:flex;align-items:center;gap:.55rem}.users-panel table{width:100%;border-collapse:collapse}.users-panel th,.users-panel td{padding:.8rem;border-bottom:1px solid #e2e9e6;text-align:left}.access-description{display:block;color:#687973;margin-top:.2rem}.user-modal{max-width:760px}.club-analytics{display:grid;gap:18px}.analytics-hero{background:radial-gradient(circle at 85% 10%,#d9b44a35,transparent 28%),linear-gradient(120deg,#102f28,#1c594a);color:#fff;border-radius:20px;padding:30px 32px;display:flex;justify-content:space-between;align-items:end;box-shadow:0 14px 35px #123a3026}.analytics-hero h2{font-size:31px;margin:4px 0 8px}.analytics-hero p{margin:0;color:#dce9e4}.analytics-period{min-width:250px;padding:15px 17px;border:1px solid #ffffff26;border-radius:13px;background:#ffffff10;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 9px}.analytics-period svg{grid-row:1/3;color:#d9b44a}.analytics-period span{font-size:11px;color:#bcd2ca}.analytics-period b{font-size:13px}.analytics-filter{padding:16px 18px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.analytics-filter label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#587068}.analytics-filter input{height:39px;border:1px solid #d6e1dd;border-radius:8px;padding:0 10px}.analytics-presets{display:flex;gap:4px;padding:4px;background:#edf3f0;border-radius:10px;margin-right:auto}.analytics-presets button,.analytics-tabs button{border:0;background:transparent;color:#49635b;font-weight:750;padding:8px 12px;border-radius:8px;cursor:pointer}.analytics-presets button:hover{background:#fff}.analytics-source{display:flex;justify-content:flex-end;align-items:center;gap:10px;color:#71817b}.analytics-source>span{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.analytics-source .demo{background:#fff1cd;color:#77580f}.analytics-source .live{background:#dff3e9;color:#1e684c}.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.analytics-kpi{background:#fff;border:1px solid #dfe7e3;border-radius:15px;padding:18px 19px;box-shadow:0 6px 18px #163e3408}.analytics-kpi>span{display:flex;align-items:center;gap:8px;color:#60756e;font-size:12px;font-weight:800}.analytics-kpi>span svg{color:#1c5a4b}.analytics-kpi strong{display:block;font-size:27px;margin:9px 0 5px}.analytics-kpi small{display:flex;align-items:center;gap:3px}.positive{color:#23704f!important}.negative{color:#b34a4a!important}.analytics-tabs{display:flex;gap:7px;border-bottom:1px solid #dce5e1;padding:0 5px}.analytics-tabs button{border-radius:9px 9px 0 0;padding:12px 17px}.analytics-tabs button.active{background:#173f35;color:#fff}.analytics-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.analytics-domain{cursor:pointer;transition:.15s}.analytics-domain:hover{transform:translateY(-2px);box-shadow:0 10px 28px #173f3518}.analytics-domain header{display:flex;justify-content:space-between;align-items:center}.analytics-domain header span{display:flex;align-items:center;gap:8px;font-weight:850;color:#173f35}.analytics-domain header svg{color:#b08b22}.analytics-domain>strong{display:block;font-size:27px;margin-top:18px}.analytics-domain>p{margin:3px 0 18px;color:#75867f;font-size:12px}.analytics-bars{display:grid;gap:11px}.analytics-bars>div{display:grid;grid-template-columns:minmax(92px,1fr) minmax(90px,2fr) auto;align-items:center;gap:9px}.analytics-bars span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#536960}.analytics-bars i{height:8px;background:#eaf0ed;border-radius:20px;overflow:hidden}.analytics-bars em{display:block;height:100%;background:linear-gradient(90deg,#1c5a4b,#60a590);border-radius:20px}.analytics-bars b{font-size:11px;min-width:55px;text-align:right}.analytics-section{display:grid;gap:16px}.analytics-setup{display:grid;gap:4px;background:#fff6d9;border:1px solid #e4c768;color:#705817;border-radius:11px;padding:12px 15px;font-size:12px}.analytics-setup span{word-break:break-word}.analytics-mini-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.analytics-mini-kpis article{background:#fff;border:1px solid #e0e8e4;border-radius:12px;padding:14px}.analytics-mini-kpis span{display:flex;align-items:center;gap:5px;font-size:11px;color:#71827b}.analytics-mini-kpis b{font-size:20px;display:block;margin-top:6px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.analytics-grid .panel{min-width:0}.analytics-grid .wide{grid-column:1/-1}.analytics-grid h3{margin:0}.analytics-grid h3+p{margin:5px 0 20px;color:#778781;font-size:12px}.analytics-empty{min-height:150px;display:grid;place-items:center;text-align:center;color:#82928c;background:#f7faf8;border-radius:10px;padding:20px}.analytics-trend svg{width:100%;min-height:210px}.analytics-trend svg>line{stroke:#dce5e1}.analytics-trend path{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.analytics-trend path.current{stroke:#1c5a4b}.analytics-trend path.previous{stroke:#d2ad3f;stroke-dasharray:8 6}.analytics-trend circle{fill:#fff;stroke:#1c5a4b;stroke-width:3}.analytics-trend text{font-size:11px;fill:#6e817a}.analytics-key{display:flex;justify-content:center;gap:18px;font-size:11px;color:#657a72}.analytics-key span{display:flex;align-items:center;gap:6px}.analytics-key i{width:22px;height:3px;background:#1c5a4b}.analytics-key i.previous{background:#d2ad3f}.analytics-notes{display:grid;gap:4px;color:#71817b;font-size:11px;padding:4px}.analytics-notes span:before{content:"•";margin-right:6px;color:#b08b22}@media(max-width:1100px){.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-overview-grid{grid-template-columns:1fr}.analytics-mini-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.analytics-hero{align-items:stretch;flex-direction:column;gap:20px;padding:24px}.analytics-hero h2{font-size:25px}.analytics-period{min-width:0}.analytics-filter{align-items:stretch}.analytics-presets{width:100%;margin:0}.analytics-presets button,.analytics-filter label{flex:1}.analytics-filter input{width:100%}.analytics-filter .primary,.analytics-filter .secondary{flex:1}.analytics-kpis{grid-template-columns:1fr 1fr}.analytics-kpi{padding:14px}.analytics-kpi strong{font-size:21px}.analytics-tabs{overflow:auto}.analytics-tabs button{white-space:nowrap}.analytics-mini-kpis{grid-template-columns:1fr 1fr}.analytics-grid{grid-template-columns:1fr}.analytics-grid .wide{grid-column:auto}.analytics-bars>div{grid-template-columns:90px 1fr auto}.analytics-source{justify-content:space-between}}.readonly-fieldset{border:0;padding:0;margin:0;min-width:0}.readonly-fieldset:disabled input,.readonly-fieldset:disabled textarea,.readonly-fieldset:disabled select{background:#f4f6f5;color:#40534d;opacity:1}.management-dashboard{display:grid;gap:18px}.management-hero{background:radial-gradient(circle at 88% 18%,#d9b44a38,transparent 27%),linear-gradient(120deg,#103b32,#27604f);color:#fff;border-radius:20px;padding:28px 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;box-shadow:0 14px 35px #123a3026}.management-hero h2{font-size:32px;margin:5px 0 7px}.management-hero p{margin:0;color:#dce9e4}.management-hero-actions{display:flex;align-items:center;gap:12px}.management-hero-actions>span{font-size:11px;color:#d2e1dc;white-space:nowrap}.management-warning{display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid #e7c96d;background:#fff5d8;color:#74570e;border-radius:11px;font-size:12px}.management-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.management-kpis>article{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #dfe7e3;border-radius:15px;padding:18px;box-shadow:0 6px 18px #163e3408}.management-kpis>article>svg{width:39px;height:39px;padding:9px;border-radius:11px;background:#e9f3ef;color:#1a6754;flex:0 0 auto}.management-kpis article.attention{border-color:#e6c46c;background:#fffaf0}.management-kpis article.attention>svg{background:#fff0c5;color:#9a6c08}.management-kpis span,.management-kpis small{display:block;color:#6c7e77;font-size:11px}.management-kpis strong{display:block;font-size:25px;margin:3px 0}.management-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.management-card{min-width:0}.management-card .panel-head{margin-bottom:16px}.management-card .panel-head>a{display:flex;align-items:center;gap:5px;font-size:12px}.course-comparison,.outlet-bars{display:grid;gap:13px}.course-comparison>div,.outlet-bars>div{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px}.course-comparison span,.outlet-bars span{font-size:12px;color:#536960;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-comparison i,.outlet-bars i,.dining-glance>div>div{height:10px;background:#e9efec;border-radius:20px;overflow:hidden}.course-comparison em,.outlet-bars em{display:block;height:100%;background:linear-gradient(90deg,#1b6452,#65aa94);border-radius:20px}.course-comparison b,.outlet-bars b{font-size:12px;min-width:60px;text-align:right}.dining-glance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dining-glance>div{border:1px solid #e0e8e5;border-radius:11px;padding:12px}.dining-glance header{display:flex;justify-content:space-between;gap:8px}.dining-glance header span{font-size:9px;font-weight:900;text-transform:uppercase;color:#55736a}.dining-glance header span.capacity-alert{color:#a33d33}.dining-glance p{margin:7px 0;font-size:11px;color:#71817b}.dining-glance>div>div i{display:block;height:100%;background:#3b8b74}.dining-glance small{display:block;margin-top:6px;color:#76867f;font-size:10px}.management-products,.today-functions,.management-issues{display:grid}.management-products>div,.today-functions>a,.management-issues>div{display:grid;align-items:center;gap:10px;padding:10px 4px;border-top:1px solid #e7ecea}.management-products>div{grid-template-columns:1fr 55px 90px}.management-products span,.today-functions span,.management-issues span{display:grid;gap:2px}.management-products small,.today-functions small,.management-issues small{color:#71817b;font-size:10px}.management-products b,.management-products em{font-size:12px;text-align:right}.management-products em,.today-functions em,.management-issues em{font-style:normal}.today-functions>a{grid-template-columns:50px 1fr auto}.today-functions time{font-weight:900;color:#1a6251}.today-functions em,.management-issues em{font-size:9px;text-transform:uppercase;font-weight:900;color:#2b715d}.management-issues>div{grid-template-columns:20px 1fr auto}.management-issues>div>svg{color:#b27c16}.management-empty{min-height:110px;margin:0!important;display:flex;align-items:center;justify-content:center;gap:8px;color:#82918c;font-size:12px}.spin{animation:management-spin .8s linear infinite}@keyframes management-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.management-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.management-hero{align-items:flex-start;flex-direction:column}.management-hero-actions{width:100%;justify-content:space-between}.management-grid{grid-template-columns:1fr}}@media(max-width:600px){.management-hero{padding:23px}.management-hero h2{font-size:26px}.management-kpis,.dining-glance{grid-template-columns:1fr}.course-comparison>div,.outlet-bars>div{grid-template-columns:85px 1fr auto}}.shift-reports-page{display:grid;gap:18px}.shift-hero{background:radial-gradient(circle at 86% 18%,#d9b44a35,transparent 28%),linear-gradient(120deg,#0f3c34,#286250);border-radius:20px;color:#fff;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 14px 35px #123a3026}.shift-hero span{color:#e5bd42;font-size:11px;font-weight:900;letter-spacing:.16em}.shift-hero h2{font-size:31px;margin:5px 0 7px}.shift-hero p{margin:0;color:#dce9e4}.success-banner{padding:12px 15px;border:1px solid #94cbb9;background:#e9f7f2;color:#175845;border-radius:11px;font-weight:750}.shift-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.shift-toolbar h3{margin:0}.shift-toolbar p{margin:4px 0 0;color:#74847e;font-size:12px}.shift-toolbar>div:last-child{display:flex;gap:9px}.shift-report-list{padding:0;overflow:hidden}.shift-report-row{width:100%;display:grid;grid-template-columns:210px minmax(160px,1fr) minmax(150px,1fr) 140px 45px;align-items:center;gap:16px;border:0;border-bottom:1px solid #e2e9e6;background:#fff;padding:16px 18px;text-align:left;color:#183f35;cursor:pointer}.shift-report-row:last-child{border-bottom:0}.shift-report-row:hover{background:#f2f8f5}.shift-report-row>span:first-child{display:flex;align-items:center;gap:9px}.shift-report-row>span{color:#667a73;font-size:13px}.shift-report-row>b{text-align:right}.shift-report-row>em{font-style:normal;font-size:11px;font-weight:850;color:#1c6655}.shift-empty{text-align:center;padding:55px 20px;color:#7a8984}.shift-empty h3{color:#173f35;margin:12px 0 5px}.shift-empty p{margin:0}.shift-form{display:grid;gap:18px}.shift-section{padding:22px}.shift-section>header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e3eae7;padding-bottom:16px;margin-bottom:18px}.shift-section>header>span{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#173f35;color:#e7c047;font-size:12px;font-weight:900}.shift-section>header h3{margin:0}.shift-section>header p{margin:4px 0 0;color:#758780;font-size:12px}.shift-section>header>button{margin-left:auto}.shift-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.shift-fields label,.shift-functions label,.shift-full-label{display:grid;gap:6px;color:#4f665e;font-size:12px;font-weight:800}.shift-fields input,.shift-fields select,.shift-functions input,.shift-functions textarea,.shift-full-label textarea,.shift-check textarea{width:100%;border:1px solid #ccd9d4;border-radius:9px;padding:10px 11px;background:#fff;color:#163d34;font:inherit}.shift-fields input,.shift-fields select{height:42px}.shift-fields input[readonly]{background:#edf3f0;font-weight:850}.shift-fields input:focus,.shift-fields select:focus,.shift-functions input:focus,.shift-functions textarea:focus,.shift-full-label textarea:focus,.shift-check textarea:focus{outline:3px solid #1b685723;border-color:#1b6857}.shift-checks{display:grid;gap:10px}.shift-check{display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(280px,1.4fr);align-items:center;gap:14px;border:1px solid #dde7e3;border-left:4px solid #a8b6b1;border-radius:12px;padding:13px;background:#fafcfb}.shift-check.yes{border-left-color:#278060}.shift-check.no{border-left-color:#c35c4f}.shift-check>div:first-child{display:grid;gap:4px}.shift-check small{color:#75867f;font-weight:500;line-height:1.35}.shift-answer{display:flex;padding:3px;background:#edf2f0;border-radius:9px}.shift-answer button{border:0;border-radius:7px;padding:8px 11px;background:transparent;color:#63756f;font-size:11px;font-weight:900;cursor:pointer}.shift-answer button.active{background:#173f35;color:#fff;box-shadow:0 2px 7px #143d3330}.shift-check.no .shift-answer button.active{background:#a8443b}.shift-check textarea{resize:vertical;min-height:52px}.shift-functions{display:grid;gap:11px;margin-bottom:16px}.shift-functions article{display:grid;grid-template-columns:1fr 210px 1.6fr auto;gap:12px;align-items:end;padding:14px;border:1px solid #dde7e3;border-radius:12px;background:#f8faf9}.shift-functions .wide{min-width:0}.shift-functions .danger{color:#a33f3f;margin-bottom:6px}.shift-add-empty{border:2px dashed #cbd9d4;border-radius:12px;background:#f8fbfa;color:#276151;padding:22px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:850;cursor:pointer}.shift-add-empty:hover{background:#edf6f2}.shift-full-label{margin-top:12px}.shift-submit{position:sticky;bottom:10px;z-index:10;display:flex;justify-content:flex-end;gap:10px;padding:13px;border:1px solid #dce6e2;border-radius:14px;background:#fffffff2;box-shadow:0 12px 30px #163f3525;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:1050px){.shift-fields{grid-template-columns:repeat(2,1fr)}.shift-check{grid-template-columns:1fr auto}.shift-check textarea{grid-column:1/-1}.shift-functions article{grid-template-columns:1fr 1fr auto}.shift-functions .wide{grid-column:1/3}}@media(max-width:720px){.shift-hero{padding:23px;align-items:flex-start}.shift-hero h2{font-size:25px}.shift-hero svg{display:none}.shift-toolbar{align-items:stretch;flex-direction:column}.shift-toolbar>button,.shift-toolbar>div:last-child button{flex:1}.shift-report-row{grid-template-columns:1fr auto;gap:7px 12px}.shift-report-row>span:first-child,.shift-report-row>span:nth-child(3){grid-column:1}.shift-report-row>strong,.shift-report-row>b{grid-column:2;text-align:right}.shift-report-row>em{display:none}.shift-section{padding:16px}.shift-section>header{align-items:flex-start;flex-wrap:wrap}.shift-section>header>button{width:100%;margin-left:0;justify-content:center}.shift-fields,.shift-check{grid-template-columns:1fr}.shift-answer{width:100%}.shift-answer button{flex:1}.shift-check textarea{grid-column:auto}.shift-functions article{grid-template-columns:1fr auto}.shift-functions article label,.shift-functions .wide{grid-column:1}.shift-functions article label:nth-child(2){grid-column:1}.shift-functions article .danger{grid-column:2;grid-row:1}.shift-submit{bottom:4px}.shift-submit button{flex:1}}.shift-report-row{grid-template-columns:1fr auto;gap:12px;padding:8px 12px;cursor:default}.shift-report-open{display:grid;grid-template-columns:210px minmax(160px,1fr) minmax(150px,1fr) 140px;align-items:center;gap:16px;border:0;background:transparent;padding:8px 6px;text-align:left;color:#183f35;cursor:pointer}.shift-report-open>span:first-child{display:flex;align-items:center;gap:9px}.shift-report-open>span{color:#667a73;font-size:13px}.shift-report-open>b{text-align:right}.shift-report-actions{display:flex;gap:5px}.shift-report-actions button{width:36px;height:36px;border:1px solid #d6e1dd;border-radius:9px;background:#fff;color:#1b5b4c;display:grid;place-items:center;cursor:pointer}.shift-report-actions button:hover{background:#173f35;color:#fff}.shift-report-actions button:disabled{opacity:.45;cursor:wait}.shift-submit{flex-wrap:wrap}.shift-email-modal{max-width:620px;display:grid;gap:15px}.shift-email-modal label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#52655e}.shift-email-modal input,.shift-email-modal textarea{border:1px solid #cad8d3;border-radius:9px;padding:11px;font:inherit}.shift-email-note{display:flex;align-items:center;gap:7px;margin:0;padding:10px 12px;background:#eef6f3;border-radius:9px;color:#365e54;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:9px}@media(max-width:720px){.shift-report-row{grid-template-columns:1fr}.shift-report-open{grid-template-columns:1fr auto;gap:7px 12px}.shift-report-open>span:first-child,.shift-report-open>span:nth-child(3){grid-column:1}.shift-report-open>strong,.shift-report-open>b{grid-column:2;text-align:right}.shift-report-actions{justify-content:flex-end;border-top:1px solid #e3eae7;padding-top:7px}.shift-email-modal{padding:18px}.modal-actions button{flex:1}}.brand span{white-space:nowrap}.grouped-nav{display:block!important;overflow:auto;padding-right:2px}.nav-group{margin-bottom:4px}.nav-group-button{width:100%;display:grid;grid-template-columns:20px 1fr 16px;align-items:center;gap:11px;border:0;background:transparent;color:#d5e1dd;padding:11px 13px;border-radius:10px;text-align:left;cursor:pointer}.nav-group-button:hover,.nav-group-button.active-group{background:#1d493f;color:#fff}.nav-group-button span{font-weight:750}.nav-group-links{display:grid;gap:2px;padding:3px 0 6px 20px}.sidebar .nav-group-links a{padding:9px 12px;font-size:13px}.workforce-page{display:grid;gap:18px}.workforce-hero{background:linear-gradient(120deg,#143a31,#2b6556);color:#fff;border-radius:18px;padding:28px 32px;display:flex;justify-content:space-between;gap:24px;align-items:center}.workforce-hero h2{font-size:28px;margin:4px 0 8px}.workforce-hero p{margin:0;color:#dbe7e3;max-width:720px}.roster-status{background:#ffffff14;border:1px solid #ffffff25;border-radius:13px;padding:16px 20px;display:grid;gap:6px;min-width:180px}.roster-status span{font-size:12px;color:#c9dad4}.roster-status strong{font-size:18px}.roster-status .draft{color:#f4ca5c}.roster-status .approved{color:#9bd5ff}.roster-status .published{color:#91e3b4}.workforce-tabs{display:flex;gap:7px;overflow:auto}.workforce-tabs button{border:1px solid #dce6e2;background:#fff;color:#4c615a;border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:7px;font-weight:750;white-space:nowrap;cursor:pointer}.workforce-tabs button.active{background:#1c5a4b;color:#fff;border-color:#1c5a4b}.roster-toolbar{display:flex;align-items:end;gap:10px;padding:15px 18px}.roster-toolbar label{display:grid;gap:4px;color:#5e7069;font-size:12px;font-weight:700}.roster-toolbar input{border:1px solid #d8e2de;border-radius:8px;padding:9px}.toolbar-spacer{flex:1}.roster-grid-wrap{padding:0;overflow:auto}.roster-grid{min-width:1180px;display:grid;grid-template-columns:210px repeat(7,minmax(135px,1fr))}.roster-row{display:contents}.roster-heading{background:#f2f6f4;border-bottom:1px solid #dce5e1;padding:12px;display:grid;gap:2px;position:sticky;top:0;z-index:1}.roster-heading span{font-size:11px;color:#74847e}.roster-person{padding:12px;border-right:1px solid #e6ece9;border-bottom:1px solid #e6ece9;display:grid;gap:4px;background:#fff}.roster-person span{font-size:11px;color:#75847f;text-transform:capitalize}.roster-cell{min-height:82px;border:0;border-right:1px solid #e6ece9;border-bottom:1px solid #e6ece9;background:#fff;padding:9px;text-align:left;display:grid;align-content:center;gap:4px;color:#3d514a}.roster-cell:not(:disabled){cursor:pointer}.roster-cell:not(:disabled):hover{background:#eef6f2}.roster-cell b{font-size:12px}.roster-cell span,.roster-cell small{font-size:10px}.roster-cell.working{background:#ecf7f0}.roster-cell.off{background:#f4f5f5;color:#87928e}.roster-cell.leave{background:#fff3d9}.roster-cell.sick,.roster-cell.absent{background:#fbe8e8}.day-glance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.day-card header{display:flex;justify-content:space-between;gap:12px}.day-card header div{display:grid}.day-card header span{font-size:12px;color:#7b8984}.day-card header>strong{color:#1d5a4b}.day-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.day-metrics div{background:#f3f7f5;border-radius:9px;padding:10px;text-align:center;display:grid}.day-metrics b{font-size:18px}.day-metrics span{font-size:10px;color:#75847f}.exception{margin:13px 0 0;padding:9px;border-radius:8px;background:#eef3f1;color:#5a6d66;font-size:12px}.exception.warning{background:#fff1d7;color:#855e12}.rate-list{display:grid;gap:10px;max-width:760px}.rate-list>label{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e9eeec;padding:12px}.rate-list>label>span{font-weight:750;text-transform:capitalize}.rate-list label div{display:flex;align-items:center;gap:8px}.rate-list input{width:110px;border:1px solid #d8e2de;border-radius:8px;padding:9px}.rate-list small{color:#75847f}@media(max-width:1000px){.day-glance-grid{grid-template-columns:1fr 1fr}.workforce-hero{align-items:flex-start}.roster-toolbar{flex-wrap:wrap}.toolbar-spacer{display:none}}@media(max-width:650px){.day-glance-grid{grid-template-columns:1fr}.workforce-hero{display:grid;padding:23px}.workforce-hero h2{font-size:23px}.roster-status{min-width:0}.roster-toolbar label{order:-1;width:100%}.roster-toolbar input{width:100%}.day-metrics{grid-template-columns:1fr 1fr}}.staff-actions{display:flex;gap:8px;flex-wrap:wrap}.employee-import-modal{width:min(920px,94vw);max-height:90vh;display:flex;flex-direction:column}.employee-import-controls{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:10px;margin:14px 0}.employee-import-controls>label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#52675f}.employee-import-controls input,.employee-import-controls select{height:39px;border:1px solid #d4dfdb;border-radius:8px;background:#fff;padding:0 9px}.employee-import-controls .employee-toggle{display:flex;align-items:center;gap:8px;grid-column:1/-1}.employee-import-controls .employee-toggle input{height:auto}.employee-import-list{border:1px solid #dce5e1;border-radius:11px;overflow:auto;min-height:220px;max-height:430px}.employee-import-list>label{display:grid;grid-template-columns:24px 1fr 130px;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #e8eeeb;cursor:pointer}.employee-import-list>label:last-child{border-bottom:0}.employee-import-list>label:hover{background:#f2f8f5}.employee-import-list>label.imported{background:#f4f5f5;color:#82908b;cursor:default}.employee-import-list span{display:grid;gap:2px}.employee-import-list small{font-size:10px;color:#72827c}.employee-import-list em{font-style:normal;font-size:11px;font-weight:800;color:#1d6452}.employee-import-list .imported em{color:#82908b}.employee-import-modal .form-actions>span{margin-right:auto;font-size:12px;font-weight:800;color:#597068}@media(max-width:760px){.employee-import-controls{grid-template-columns:1fr}.employee-import-controls .employee-toggle{grid-column:auto}.employee-import-list>label{grid-template-columns:22px 1fr}.employee-import-list em{grid-column:2}}.gp-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.gp-controls label{min-width:150px}.gp-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px;margin:16px 0}.gp-table{overflow:auto}.gp-table table{width:100%;border-collapse:collapse}.gp-table th,.gp-table td{padding:11px 10px;text-align:left;border-bottom:1px solid #dce7e2;white-space:nowrap}.gp-table td small{display:block;color:#6d7d77;margin-top:3px}.gp-table tr.below-target{background:#fff3f1}.gp-remedy{display:flex;gap:12px;padding:14px;background:#fff6df;border:1px solid #efcf7d;border-radius:12px}.gp-remedy p{margin:6px 0;color:#4e5d58}.gp-method{margin-top:18px;padding:14px;border-radius:12px;background:#eff5f2}.gp-targets{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px}.gp-targets>div{padding:14px;border:1px solid #dce7e2;border-radius:12px}.gp-targets label+label{margin-top:10px}@media(max-width:900px){.gp-grid,.gp-targets{grid-template-columns:1fr}}.floor-zone.editable{pointer-events:auto;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 2px #fff8}.floor-zone.editable:hover{border-color:#17604e;box-shadow:0 0 0 3px #17604e24,inset 0 0 0 2px #fff8}.floor-zone-editor{display:grid;gap:8px}.floor-zone-editor article{display:grid;grid-template-columns:1fr 58px 58px 34px;gap:6px;align-items:end;padding:8px;border:1px solid #d7e5df;border-radius:10px;background:#f7fbf9}.floor-zone-editor input{height:34px;width:100%;min-width:0;border:1px solid #d3dfdb;border-radius:7px;padding:0 6px;background:#fff}.floor-zone-editor label{display:grid;gap:2px;font-size:9px;font-weight:800}.floor-zone-editor .danger{color:#a33939}.floor-table-heading{margin-top:20px!important;padding-top:15px;border-top:1px solid #dfe8e4}.gp-target-cards{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:12px;margin:18px 0}.gp-target-card{display:grid;gap:5px;padding:16px;border:1px solid #dbe6e2;border-radius:14px;background:#f8fbfa}.gp-target-card>span{font-weight:900;color:#174f41}.gp-target-card small{color:#71827c}.gp-target-card>div,.banqueting-target>div{display:flex;align-items:center;gap:8px}.gp-target-card input,.banqueting-target input{width:100px;height:40px;border:1px solid #cbdad4;border-radius:8px;padding:0 10px;font-size:18px;font-weight:800}.banqueting-settings{display:grid;grid-template-columns:1fr 180px;gap:14px;padding:18px;border:1px solid #cbded7;border-radius:16px;background:#f1f8f5}.banqueting-settings h4{margin:0 0 5px;color:#154d3f}.banqueting-settings p{margin:0;color:#687b74;font-size:12px}.banqueting-target{display:grid;gap:5px;font-weight:800}.banqueting-selected,.banqueting-outlets{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.banqueting-selected{padding:10px;border-radius:10px;background:#fff;min-height:44px}.banqueting-selected button{border:0;border-radius:999px;background:#17604e;color:#fff;padding:7px 10px;display:flex;align-items:center;gap:6px;font-weight:800}.banqueting-selected span{color:#798b84;font-size:12px;align-self:center}.banqueting-outlets{max-height:190px;overflow:auto;padding:10px;background:#fff;border:1px solid #dce7e3;border-radius:10px}.banqueting-outlets label{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e2ebe7;border-radius:8px;min-width:170px;font-size:12px}.banqueting-outlets input{accent-color:#17604e}@media(max-width:800px){.gp-target-cards,.banqueting-settings{grid-template-columns:1fr}.banqueting-target{grid-column:1}}.products-dashboard{display:grid;gap:18px}.products-hero{background:radial-gradient(circle at 82% 5%,#d9b44a40,transparent 30%),linear-gradient(120deg,#102f28,#256451);color:#fff;border-radius:20px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center}.products-hero h2{font-size:31px;margin:3px 0 6px}.products-hero p{margin:0;color:#dce9e4}.products-live{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;font-size:12px;font-weight:850}.products-live i{width:10px;height:10px;border-radius:50%;background:#6fe0a6;box-shadow:0 0 0 5px #6fe0a620;grid-row:1/3}.products-live small{font-weight:500;color:#c8dbd4}.products-toolbar{display:flex;align-items:end;gap:10px;padding:14px 16px}.products-toolbar label{display:grid;gap:4px;font-size:11px;font-weight:800;color:#61746d;margin-right:auto}.products-toolbar select{min-width:240px;height:40px;border:1px solid #d5e0dc;border-radius:8px;background:#fff;padding:0 10px}.products-toolbar>span{font-size:11px;color:#72827d}.products-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.products-summary article{background:#fff;border:1px solid #dfe7e3;border-radius:14px;padding:17px}.products-summary span{display:block;color:#6b7e77;font-size:11px;font-weight:750}.products-summary strong{display:block;font-size:25px;margin-top:7px}.products-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-card{padding:18px;display:grid;gap:15px}.product-card header{display:flex;justify-content:space-between;gap:12px}.product-card header svg{color:#1c5a4b}.product-card h3{margin:3px 0;font-size:17px}.product-card small,.product-card code,.product-card footer{color:#74857e;font-size:10px}.product-today,.product-month{display:grid;grid-template-columns:1fr auto;align-items:end}.product-today span,.product-month span{grid-column:1/-1;font-size:11px;color:#6f817a}.product-today strong{font-size:34px;color:#17473b}.product-today b{font-size:17px}.product-month{border-top:1px solid #e6ece9;padding-top:11px}.product-month strong{font-size:17px}.products-trend{padding:20px}.products-trend h3{margin:0}.products-trend p{font-size:12px;color:#74857e}.products-daily{height:190px;display:flex;align-items:end;gap:7px;overflow-x:auto;padding-top:12px}.products-daily>div{height:100%;min-width:24px;display:grid;grid-template-rows:18px 1fr 18px;text-align:center;font-size:9px;color:#70817b}.products-daily>div>i{position:relative;background:#edf3f0;border-radius:5px;overflow:hidden}.products-daily em{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(#55a68e,#1b5b4a);border-radius:5px}.products-empty{min-height:330px;display:grid;place-items:center;align-content:center;text-align:center;gap:8px}.products-empty svg{width:48px;height:48px;color:#9eb4ac}.products-empty h3,.products-empty p{margin:0}.products-empty p{color:#71827b}.product-picker{width:min(820px,94vw);max-height:88vh;display:grid;grid-template-rows:auto auto auto 1fr auto;padding:20px}.product-picker>header{display:flex;justify-content:space-between}.product-picker h3{margin:0}.product-picker p{margin:4px 0;color:#71827b;font-size:12px}.product-search{height:43px;border:1px solid #cad9d3;border-radius:9px;padding:0 12px;margin:14px 0 8px}.selected-count{display:flex;justify-content:space-between;font-size:11px;color:#71827b;margin-bottom:8px}.product-picker-list{overflow:auto;display:grid;gap:5px;padding-right:4px}.product-picker-list>button{width:100%;border:1px solid #dfe8e4;background:#fff;border-radius:9px;padding:10px;display:grid;grid-template-columns:25px 1fr auto;gap:9px;align-items:center;text-align:left;cursor:pointer}.product-picker-list>button.selected{border-color:#1d6552;background:#eef7f3}.product-picker-list i{width:20px;height:20px;border:1px solid #c8d7d2;border-radius:5px;display:grid;place-items:center;color:#fff}.product-picker-list .selected i{background:#1d6552}.product-picker-list span{display:grid}.product-picker-list small{color:#75867f}.product-picker>footer{display:flex;justify-content:flex-end;gap:8px;padding-top:14px}@media(max-width:900px){.products-summary{grid-template-columns:1fr 1fr}.products-card-grid{grid-template-columns:1fr}.products-toolbar{align-items:stretch;flex-wrap:wrap}.products-toolbar label,.products-toolbar select{width:100%}}@media(max-width:600px){.products-hero{padding:23px;align-items:flex-start;gap:20px;flex-direction:column}.products-hero h2{font-size:25px}.products-summary{grid-template-columns:1fr 1fr}.products-summary strong{font-size:19px}.selected-count{display:grid;gap:3px}}
