:root{--ink:#20241f;--green:#173b30;--green2:#245544;--gold:#ad9452;--ivory:#f5f1e8;--paper:#fffefb;--line:#ddd9cf;--muted:#70766e;--red:#b74338;--blue:#38758e;--shadow:0 18px 55px #173b3015}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ivory);color:var(--ink);font:14px/1.45 Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading-screen,.login-screen{min-height:100vh;display:grid;place-content:center;text-align:center}.monogram{font:700 58px Georgia;color:var(--gold);letter-spacing:-8px;margin-right:8px}
.login-card{width:min(430px,calc(100vw - 30px));background:var(--paper);padding:38px;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px}.login-card h1,.heading h1{font:600 34px Georgia;margin:8px 0}.login-card p{color:var(--muted)}label{display:grid;gap:6px;color:#4e554e;font-weight:700}.field{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;color:var(--ink)}.field:focus{outline:3px solid #ad945233;border-color:var(--gold)}
.btn{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:10px;color:var(--ink);font-weight:700}.btn:hover{border-color:var(--gold)}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.danger{background:var(--red);color:#fff}.btn.small{padding:7px 10px;font-size:12px}.login-card .btn{width:100%;margin-top:14px}.error{background:#fff0ee;color:#8d2f29;padding:11px;border-radius:9px}.notice{position:fixed;right:22px;top:18px;z-index:30;background:var(--green);color:#fff;padding:12px 18px;border-radius:10px;box-shadow:var(--shadow)}
.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--green);color:#fff;padding:20px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 18px;border-bottom:1px solid #ffffff18}.brand .monogram{font-size:31px}.brand strong{font:600 19px Georgia;letter-spacing:2px}.brand small{display:block;color:#d1c7a9;font-size:9px;letter-spacing:2px}.nav{display:grid;gap:3px;margin-top:14px;overflow:auto;padding-right:3px}.nav button{border:0;background:transparent;color:#cbd8d2;text-align:left;padding:8px 11px;border-radius:9px}.nav button.active,.nav button:hover{background:#ffffff12;color:#fff}.sidebar-user{margin-top:auto;border-top:1px solid #ffffff18;padding:12px 8px 0}.sidebar-user small{display:block;color:#b9c7c0}.sidebar-user button{margin-top:7px;background:transparent;border:0;color:#dfc981;padding:0}
.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar b{color:var(--gold);letter-spacing:1px}.content{padding:30px;max-width:1500px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--gold);font-weight:800}.heading p{margin:0;color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.kpi,.panel{background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 25px #173b3009;border-radius:15px}.kpi{padding:20px}.kpi span{font-size:10px;letter-spacing:1.4px;color:var(--muted);font-weight:800}.kpi strong{display:block;font:600 28px Georgia;margin-top:8px}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.panel{padding:20px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.panel h2{font:600 21px Georgia;margin:0}.panel-head p{margin:3px 0 0;color:var(--muted)}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{font-size:9px;letter-spacing:1.2px;color:var(--muted);text-align:left;padding:10px;border-bottom:1px solid var(--line)}.table td{padding:12px 10px;border-bottom:1px solid #ece9e2;vertical-align:top}.table tr:last-child td{border:0}.table small{color:var(--muted);display:block}.tag{display:inline-flex;padding:4px 8px;border-radius:20px;background:#edf2ef;color:var(--green);font-size:11px;font-weight:700}.tag.warn{background:#fff1d7;color:#8d6021}.tag.red{background:#fde7e5;color:var(--red)}.money{font-weight:800}
.empty{padding:30px;text-align:center;color:var(--muted)}.actions{display:flex;gap:6px;flex-wrap:wrap}.task{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #ece9e2}.task button{margin-left:auto}.task b{display:block}.task small{color:var(--muted)}.bar{height:8px;background:#ece9e2;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--gold)}
.channel-icon{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:7px;border-radius:50%;background:#e8f1ec;color:var(--green);font-weight:800}.event-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.event-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px}.event-card-top{display:flex;justify-content:space-between}.event-card h2{font:600 23px Georgia;margin:14px 0 4px}.event-card p{color:var(--muted)}.event-facts-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.event-facts-mini span{font-weight:700}.event-facts-mini small,.event-detail-grid small{display:block;color:var(--muted);font-size:9px;letter-spacing:1px}.event-card .actions{margin-top:14px}.event-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:var(--ivory);padding:16px;border-radius:12px}.event-detail-grid b{display:block;margin-top:5px}.calendar-list{display:grid}.calendar-entry{display:grid;grid-template-columns:180px 12px 1fr;gap:12px;align-items:center;padding:13px;border-bottom:1px solid #ece9e2}.calendar-entry time{font-weight:700}.calendar-entry i{width:9px;height:9px;border-radius:50%;background:var(--gold)}.calendar-entry i.green{background:#3f8a68}.calendar-entry i.blue{background:var(--blue)}.calendar-entry small{display:block;color:var(--muted)}.task-board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.task-column{background:#f6f3ec;border-radius:12px;padding:12px;min-width:0}.task-column h3{margin:0 0 10px;font:600 17px Georgia}.task-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:9px}.task-card p{color:var(--muted);font-size:12px}.task-card small{display:block;margin-bottom:9px}.report-row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:12px;margin:13px 0}.report-row span{display:flex;justify-content:space-between}.alert-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.alert-list div{padding:18px;background:var(--ivory);border-radius:12px}.alert-list b{display:block;font:600 28px Georgia;color:var(--gold)}.alert-list span{color:var(--muted)}
.modal-wrap{position:fixed;inset:0;z-index:40;background:#10231dcc;display:grid;place-items:center;padding:20px}.modal{width:min(900px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:18px;padding:25px}.modal h2{font:600 27px Georgia;margin:0 0 6px}.modal p{color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .wide{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.line-picker{border:1px solid var(--line);border-radius:12px;overflow:hidden}.line-row{display:grid;grid-template-columns:32px 1fr 110px 120px;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.line-row:last-child{border:0}.line-row input[type=number]{width:100%}
.security-banner{display:flex;gap:12px;align-items:center;background:#edf4f0;border:1px solid #cbded5;padding:13px 16px;border-radius:12px;margin-bottom:20px;color:#285342}.security-banner b{font-size:18px}.danger-text{color:var(--red)!important}.view{display:none}.view.active{display:block}
.xenia-fab{position:fixed;right:24px;bottom:24px;z-index:35;width:56px;height:56px;border-radius:50%;border:1px solid #d2bc7c;background:var(--green);color:#e9d69f;font-size:24px;box-shadow:0 12px 30px #173b3055}.xenia-panel{position:fixed;right:24px;bottom:90px;z-index:34;width:min(390px,calc(100vw - 30px));max-height:72vh;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px #10231d44;display:none;overflow:hidden}.xenia-panel.open{display:block}.xenia-panel header{display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#fff;padding:16px}.xenia-panel header span,.xenia-panel header small{display:block}.xenia-panel header small{color:#cbd8d2}.xenia-panel header button{border:0;background:transparent;color:#fff;font-size:24px}.xenia-body{padding:17px;overflow:auto;max-height:58vh}.xenia-body>button{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:10px;border-radius:9px;margin:7px 0}.xenia-answer{background:var(--ivory);border-left:3px solid var(--gold);padding:11px;border-radius:7px}
.calendar-panel{overflow:auto}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.calendar-nav,.calendar-modes{display:flex;align-items:center;gap:7px}.calendar-nav strong{font:600 19px Georgia;text-transform:capitalize;margin-left:7px}.calendar-filters{display:grid;grid-template-columns:minmax(220px,1fr) 210px 155px auto auto;gap:8px;align-items:center;margin-bottom:12px}.calendar-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.calendar-legend span{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.calendar-legend span:before{content:"";width:9px;height:9px;border-radius:50%;background:#96754c}.calendar-legend .wedding:before,.calendar-chip.wedding{background:#f7e3e5;border-color:#d9959d;color:#7d3843}.calendar-legend .fifteen:before,.calendar-chip.fifteen{background:#eee4f7;border-color:#b590d0;color:#624079}.calendar-legend .corporate:before,.calendar-chip.corporate{background:#e1edf7;border-color:#86add0;color:#315f82}.calendar-legend .banquet:before,.calendar-chip.banquet{background:#faead9;border-color:#d9a06b;color:#7d4d24}.calendar-legend .event:before,.calendar-chip.event{background:#eee8d8;border-color:#b69a55;color:#6d5929}.calendar-legend .gold:before,.calendar-chip.gold{background:#f4ecd7;border-color:#c2a55b;color:#6e5a28}.calendar-legend .green:before,.calendar-chip.green{background:#e1f0e8;border-color:#71ad8f;color:#285e45}.calendar-legend .blue:before,.calendar-chip.blue{background:#e1edf2;border-color:#79a8ba;color:#2d6075}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);min-width:980px;background:#f4f1e9;border:1px solid var(--line);border-bottom:0}.calendar-weekdays b{text-align:center;padding:9px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.calendar-month{display:grid;grid-template-columns:repeat(7,1fr);min-width:980px;border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-day{min-height:132px;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-day.outside{background:#f7f5f0;color:#aaa}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--gold)}.calendar-day>time{display:grid;place-items:center;width:25px;height:25px;margin:0 0 5px auto;font-weight:800}.calendar-day.today>time{border-radius:50%;background:var(--green);color:#fff}.calendar-chip{display:block;width:100%;border:1px solid;border-radius:6px;padding:5px 6px;margin:4px 0;text-align:left;font-size:10px;overflow:hidden}.calendar-chip b,.calendar-chip span,.calendar-chip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-chip span{margin-top:2px}.calendar-more{display:block;text-align:center;color:var(--muted);margin-top:4px}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));min-width:980px;border:1px solid var(--line)}.calendar-week-column{min-height:430px;padding:8px;border-right:1px solid var(--line)}.calendar-week-column:last-child{border:0}.calendar-week-column header{text-align:center;border-bottom:1px solid var(--line);padding:8px}.calendar-week-column header b,.calendar-week-column header strong{display:block;text-transform:capitalize}.calendar-week-column header strong{font:600 25px Georgia}.calendar-empty-day{display:block;text-align:center;color:#aaa;padding:25px 4px;font-size:11px}.calendar-day-view{max-width:880px;margin:auto}.calendar-day-view h3{text-transform:capitalize;font:600 22px Georgia}.calendar-hour{display:grid;grid-template-columns:75px 1fr;gap:12px;align-items:start;padding:7px 0;border-top:1px solid var(--line)}.calendar-hour>time{font-weight:800;padding-top:7px}.calendar-entry i.wedding{background:#d9959d}.calendar-entry i.fifteen{background:#9c69bd}.calendar-entry i.corporate{background:#508dbb}.calendar-entry i.banquet{background:#cf8747}.calendar-entry i.event{background:#96754c}
.top-actions{display:flex;align-items:center;gap:14px}.notification-button{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--gold)}.notification-button em{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:2px 5px;border-radius:10px;background:var(--red);color:#fff;font-size:10px;font-style:normal}.notifications-panel{position:fixed;right:25px;top:64px;z-index:60;width:min(410px,calc(100vw - 30px));max-height:76vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 20px 60px #10231d44}.notifications-panel header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px;background:var(--green);color:#fff}.notifications-panel header button{border:0;background:transparent;color:#ead79d}.notification-item{display:block;width:100%;padding:13px 15px;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff}.notification-item:not(.read){background:#fff9e9}.notification-item.critical{border-left:4px solid var(--red)}.notification-item.warning{border-left:4px solid var(--gold)}.notification-item.success{border-left:4px solid #3f8a68}.notification-item b,.notification-item span,.notification-item small{display:block}.notification-item span{margin:4px 0;color:var(--muted)}.notification-item small{font-size:10px;color:#92978f}.availability-box{display:grid;gap:5px;margin-top:12px;padding:13px;border-radius:10px}.availability-box.ok{background:#e7f4ec;color:#285e45}.availability-box.bad{background:#fde9e7;color:#8d302a}.availability-box span{display:block}
@media(max-width:1100px){.shell{grid-template-columns:82px 1fr}.brand strong,.brand small,.nav button span,.sidebar-user strong,.sidebar-user small{display:none}.brand{justify-content:center}.nav button{text-align:center}.kpis{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.task-board{grid-template-columns:repeat(2,1fr)}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-filters{grid-template-columns:1fr 1fr 150px}.calendar-filters button{width:100%}}
@media(max-width:680px){.shell{display:block}.sidebar{position:fixed;z-index:20;bottom:0;top:auto;width:100%;height:70px;padding:7px}.brand,.sidebar-user{display:none}.nav{display:flex;margin:0;gap:3px;overflow-x:auto}.nav button{flex:0 0 68px;padding:6px 2px;font-size:8px}.nav button span{display:block}.content{padding:18px 14px 90px}.topbar{padding:0 16px;height:58px}.heading{align-items:flex-start;flex-direction:column}.heading h1{font-size:29px}.kpis{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:14px}.kpi strong{font-size:22px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.line-row{grid-template-columns:28px 1fr 80px}.line-row .price{display:none}.event-cards,.task-board{grid-template-columns:1fr}.event-facts-mini,.event-detail-grid{grid-template-columns:1fr 1fr}.calendar-entry{grid-template-columns:105px 9px 1fr}.calendar-entry>.btn{grid-column:3}.calendar-filters{grid-template-columns:1fr}.calendar-nav,.calendar-modes{flex-wrap:wrap}.calendar-nav strong{width:100%;margin:5px 0}.xenia-fab{bottom:82px;right:15px}.xenia-panel{right:15px;bottom:145px}}
@media print{.sidebar,.topbar,.btn,.security-banner{display:none!important}.shell{display:block}.content{padding:0}.panel,.kpi{box-shadow:none}.view{display:block}}
