*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f5f6f8;color:#111827}a{text-decoration:none;color:inherit}.muted{color:#6b7280}.topbar{height:74px;background:#07111e;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px rgba(0,0,0,.08)}.brand-row{display:flex;align-items:center;gap:12px}.brand-row div{display:flex;flex-direction:column}.brand-row strong{font-size:18px;letter-spacing:2px}.brand-row span{font-size:10px;color:#c8a55e;text-transform:uppercase;letter-spacing:1.2px}.nav-logo{width:42px;height:42px;object-fit:cover;border-radius:8px}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{font-size:13px;color:#d1d5db}.nav-links{display:flex;gap:26px;align-items:center;font-size:14px}.nav-links a{padding:27px 0 23px;border-bottom:3px solid transparent}.nav-links a.active{color:#d5a02f;border-color:#d5a02f}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 16px;border:1px solid #d6d9df;background:#fff;font-weight:700;font-size:13px;cursor:pointer}.btn.gold{background:linear-gradient(135deg,#d7a534,#b77a0e);color:white;border:none}.btn.light{background:#fff;color:#111827}.btn.full{width:100%}.btn.small{padding:7px 10px;font-size:12px}.login-page{min-height:100vh;background:linear-gradient(135deg,#0c1726,#111827);display:grid;place-items:center;padding:24px}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.35)}.login-shell.simple{grid-template-columns:1fr;max-width:460px}.login-visual{min-height:560px;background:linear-gradient(rgba(4,8,15,.35),rgba(4,8,15,.7)),url('../img/logo.jpg') center/cover no-repeat;position:relative}.visual-brand{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:30px}.hero-logo{width:220px;max-height:220px;object-fit:contain;border-radius:10px;margin-bottom:28px;box-shadow:0 16px 40px rgba(0,0,0,.32)}.visual-brand h2{font-size:34px;margin:0 0 6px}.visual-brand p{margin:0;color:#d1d5db}.login-card{padding:58px 46px;display:flex;flex-direction:column;justify-content:center}.login-logo{width:120px;height:90px;object-fit:contain;border-radius:8px;margin-bottom:18px}.login-card h1{margin:0 0 6px;font-size:28px}.login-card label,.new-form label,.report-card label{font-size:12px;font-weight:700;margin:14px 0 6px;display:block}.login-card input,.new-form input,.new-form textarea,.report-card input,.report-card select,.users-layout input,.users-layout select{width:100%;border:1px solid #d9dde5;border-radius:8px;padding:11px 12px;font:inherit}.remember{display:flex!important;align-items:center;gap:8px}.remember input{width:auto}.alert{padding:10px 12px;border-radius:8px;margin:12px 0;font-size:13px}.alert.error{background:#fff1f0;color:#b42318}.alert.success{background:#ecfdf3;color:#067647}.venue-page{max-width:980px;margin:28px auto;padding:0 20px}.venue-hero{height:220px;background:#050505;border-radius:18px;display:grid;place-items:center;overflow:hidden}.venue-logo{height:180px;max-width:80%;object-fit:contain}.venue-card{max-width:520px;margin:24px auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 12px 35px rgba(0,0,0,.08)}.venue-card h1{margin:0 0 6px}.venue-list{display:grid;gap:14px;margin-top:22px}.venue-option{display:grid;grid-template-columns:54px 1fr 24px;align-items:center;gap:14px;padding:20px;border-radius:14px}.venue-option.dark-card{background:linear-gradient(135deg,#101826,#0d1522);color:#fff}.venue-option.gold-card{background:linear-gradient(135deg,#e7cf9e,#c8912e);color:#fff}.venue-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;font-size:22px}.venue-option strong{display:block;font-size:17px}.venue-option span{font-size:12px;opacity:.85}.venue-arrow{font-size:28px}.app-shell{max-width:1220px;margin:0 auto;padding:26px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.page-heading h1{margin:0;font-size:28px}.page-heading p{margin:5px 0 0;color:#6b7280}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:16px}.calendar-toolbar h2{margin:0;font-size:25px}.tool-left{display:flex;gap:8px}.calendar-toolbar>.btn{justify-self:end}.icon-btn{width:42px;height:42px;border:1px solid #dfe3e8;border-radius:8px;background:#fff;display:grid;place-items:center;font-size:26px}.month-row{display:grid;grid-template-columns:repeat(12,1fr);background:#fff;border:1px solid #e7e9ed;border-radius:10px;overflow:hidden;margin-bottom:18px}.month-row a{padding:10px 4px;text-align:center;font-size:12px}.month-row a.active{background:linear-gradient(135deg,#d7a534,#b77a0e);color:white;border-radius:8px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.calendar-panel,.day-panel,.report-card{background:#fff;border:1px solid #e6e8ec;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.calendar-panel{padding:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-head div{text-align:center;padding:10px 2px;font-size:12px;font-weight:800}.day-cell{min-height:84px;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;position:relative;padding:10px;background:#fff}.day-cell:nth-child(7n){border-right:none}.day-cell:hover{background:#fafcff}.day-cell.selected{background:linear-gradient(135deg,#fff5dc,#f6e8c5);box-shadow:inset 0 0 0 1px #d6a13e}.day-cell.outside{background:#fafafa}.day-num{font-weight:700}.count-dot{position:absolute;right:10px;bottom:10px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:800}.count-dot.green,.legend i.green{background:#65b52d}.count-dot.blue,.legend i.blue{background:#2d7dd2}.count-dot.orange,.legend i.orange{background:#e16632}.legend{display:flex;gap:22px;padding:14px 8px 8px;font-size:11px;color:#6b7280}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:50%}.year-row{display:flex;gap:8px;padding:12px 2px 4px}.year-row a{padding:9px 18px;border:1px solid #e0e3e8;border-radius:8px;font-size:12px}.year-row a.active{background:linear-gradient(135deg,#d7a534,#b77a0e);color:#fff;border:none}.day-panel{padding:18px;align-self:start;position:sticky;top:92px}.day-panel h3{margin:0;font-size:20px}.day-panel p{margin:4px 0 0;color:#6b7280;font-size:12px}.subhead{font-weight:800;font-size:13px;margin:18px 0 10px}.subhead span{background:#2d7dd2;color:#fff;padding:2px 6px;border-radius:999px;font-size:10px}.reservation-list{display:grid;gap:8px}.reservation-item{display:grid;grid-template-columns:48px 1fr auto auto;gap:8px;align-items:start;border:1px solid #e6e8ec;border-radius:10px;padding:10px}.res-time{color:#2d7dd2;font-size:12px;font-weight:800}.res-main{display:flex;flex-direction:column}.res-main strong{font-size:12px}.res-main span,.res-main small{font-size:11px;color:#6b7280;margin-top:3px}.res-amount{font-size:11px;font-weight:800;color:#2d7dd2;background:#edf5ff;padding:4px 6px;border-radius:999px}.mini-delete{border:0;background:transparent;color:#c0352b;font-size:18px;cursor:pointer}.empty{padding:16px;border:1px dashed #d9dde3;border-radius:10px;color:#7b8492;font-size:12px;text-align:center}.new-form{border-top:1px solid #e7e9ed;margin-top:16px;padding-top:2px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.new-form label span{font-weight:500;color:#8a92a0}.report-card{padding:22px}.report-card h1,.report-card h2{margin-top:0}.report-filter{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end}.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.stats>div{background:#f8fafc;border-radius:12px;padding:18px}.stats span{display:block;color:#6b7280;font-size:12px}.stats strong{font-size:26px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #edf0f3;font-size:12px}.users-layout{display:grid;grid-template-columns:360px 1fr;gap:18px}@media(max-width:900px){.nav-links{display:none}.calendar-layout{grid-template-columns:1fr}.day-panel{position:static}.month-row{grid-template-columns:repeat(6,1fr)}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.users-layout{grid-template-columns:1fr}.report-filter{grid-template-columns:1fr 1fr}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-toolbar h2{grid-column:1/-1;grid-row:1;text-align:center;margin-bottom:12px}.calendar-toolbar .tool-left{grid-row:2}.calendar-toolbar>.btn{grid-row:2}}@media(max-width:600px){.topbar{height:auto;min-height:64px;padding:10px 14px}.brand-row strong{font-size:15px}.user-chip{display:none}.app-shell{padding:14px}.page-heading h1{font-size:22px}.month-row{grid-template-columns:repeat(4,1fr)}.day-cell{min-height:62px;padding:7px}.count-dot{width:18px;height:18px;right:6px;bottom:6px;font-size:9px}.legend{gap:10px;flex-wrap:wrap}.year-row{overflow-x:auto}.year-row a{padding:8px 14px;white-space:nowrap}.calendar-toolbar{grid-template-columns:1fr 1fr}.calendar-toolbar h2{font-size:20px}.form-two{grid-template-columns:1fr}.report-filter{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.venue-page{padding:0 12px}.venue-hero{height:160px}.venue-logo{height:130px}.login-card{padding:34px 24px}.login-logo{width:100px}.reservation-item{grid-template-columns:44px 1fr auto}.res-amount{grid-column:2}.mini-delete{grid-column:3;grid-row:1}}
.import-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 20px}
.import-summary>div{background:#f7f8fa;border:1px solid #e6e8ec;border-radius:10px;padding:13px}
.import-summary strong{display:block;font-size:22px;color:#b77a0e}
.import-summary span{display:block;font-size:11px;color:#6b7280;margin-top:3px}
.year-selector{display:flex;align-items:center;gap:8px;padding:12px 3px 4px}
.year-selector label{font-size:11px;color:#6b7280;font-weight:700}
.year-selector select{width:auto;min-width:100px;border:1px solid #e0e3e8;border-radius:8px;padding:8px 10px;background:white}
@media(max-width:600px){.import-summary{grid-template-columns:1fr}.year-selector{justify-content:flex-start}}

/* V5 calendar usability */
.top-year-row{display:grid;grid-template-columns:auto repeat(6,1fr);gap:8px;align-items:center;background:#fff;border:1px solid #e6e8ec;border-radius:12px;padding:10px;margin-bottom:12px}
.top-year-row>span{font-size:12px;font-weight:800;color:#6b7280;padding:0 8px}
.top-year-row a{text-align:center;border:1px solid #e1e5ea;border-radius:8px;padding:10px 8px;font-size:12px;font-weight:800;background:#fff}
.top-year-row a.active{background:linear-gradient(135deg,#d7a534,#b77a0e);color:#fff;border-color:transparent}
.cell-bookings{display:grid;gap:3px;margin-top:5px}
.cell-event{display:flex;gap:4px;align-items:center;min-width:0;border-radius:5px;padding:3px 4px;font-size:9px;line-height:1.15;border:1px solid}
.cell-event b{flex:0 0 auto}.cell-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.count-color-1{background:#eaf8e7;border-color:#9bd890;color:#176b2c}
.count-color-2{background:#fff3dc;border-color:#efc06c;color:#9b5b00}
.count-color-3{background:#eaf2ff;border-color:#91b7ff;color:#1756b6}
.count-color-4,.count-color-5,.count-color-6,.count-color-7,.count-color-8,.count-color-9,.count-color-10{background:#ffe9e7;border-color:#f3a19b;color:#b42318}
.more-events{font-size:9px;font-weight:800;color:#6b7280;padding-left:3px}
.legend i.one{background:#49ad57}.legend i.two{background:#eda52b}.legend i.three{background:#3b7ee8}.legend i.four{background:#dc4a40}
.day-cell.has-bookings{min-height:100px}
@media(max-width:600px){
  .app-shell{padding:10px}
  .page-heading{margin-bottom:10px}
  .page-heading h1{font-size:20px}
  .top-year-row{grid-template-columns:repeat(6,1fr);gap:5px;padding:7px;overflow:visible}
  .top-year-row>span{display:none}
  .top-year-row a{padding:9px 2px;font-size:11px}
  .month-row{display:flex;overflow-x:auto;scrollbar-width:none;gap:4px;background:transparent;border:0;border-radius:0;padding-bottom:3px}
  .month-row::-webkit-scrollbar{display:none}
  .month-row a{flex:0 0 auto;min-width:68px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:9px 8px}
  .calendar-layout{display:block}
  .calendar-panel{overflow:hidden;padding:5px}
  .calendar-head div{font-size:10px;padding:8px 0}
  .day-cell,.day-cell.has-bookings{min-height:76px;padding:4px 3px}
  .day-num{font-size:11px}
  .cell-bookings{gap:2px;margin-top:3px}
  .cell-event{display:block;padding:2px 3px;font-size:7.5px;line-height:1.2}
  .cell-event b{display:block;font-size:7px}
  .cell-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .more-events{font-size:7px}
  .legend{justify-content:center;font-size:9px;padding:9px 4px;gap:8px}
  .day-panel{margin-top:12px}
  .calendar-toolbar{margin-bottom:10px}
  .calendar-toolbar h2{font-size:18px}
}
@media(max-width:390px){
  .top-year-row a{font-size:10px}
  .day-cell,.day-cell.has-bookings{min-height:70px}
  .cell-event{font-size:7px}
}

/* V6: dashboard shortcut + friendly date modal */
.dashboard-btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.22)}
.dashboard-btn:hover{background:rgba(255,255,255,.08)}

.mobile-modal{position:fixed;inset:0;z-index:1000;display:none}
.mobile-modal.open{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(3,10,18,.58);backdrop-filter:blur(3px)}
.modal-sheet{position:absolute;right:0;top:0;height:100%;width:min(430px,94vw);background:#fff;box-shadow:-18px 0 55px rgba(0,0,0,.18);padding:20px;overflow-y:auto;animation:slideIn .18s ease-out}
@keyframes slideIn{from{transform:translateX(28px);opacity:.5}to{transform:none;opacity:1}}
.modal-handle{display:none}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid #edf0f3}
.modal-head h3{margin:2px 0 0;font-size:22px}
.modal-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:900;color:#b77a0e}
.modal-close{border:0;background:#f4f6f8;width:36px;height:36px;border-radius:50%;font-size:24px;cursor:pointer;color:#374151}
.modal-bookings{display:grid;gap:8px;margin:14px 0}
.modal-reservation{display:grid;grid-template-columns:48px 1fr auto;gap:10px;border:1px solid #e5e8ec;border-radius:11px;padding:11px;background:#fbfcfe}
.modal-time{font-size:12px;font-weight:900;color:#2d7dd2}
.modal-res-main{display:flex;flex-direction:column;min-width:0}
.modal-res-main strong{font-size:13px}
.modal-res-main span,.modal-res-main small{font-size:11px;color:#6b7280;margin-top:3px}
.modal-amount{font-size:11px;font-weight:900;color:#176b2c;background:#eaf8e7;border-radius:999px;padding:4px 7px;height:max-content}
.modal-form-wrap{border-top:1px solid #edf0f3;margin-top:15px;padding-top:2px}
.modal-form-wrap label{font-size:11px;font-weight:800;margin:10px 0 5px;display:block}
.modal-form-wrap label span{font-weight:500;color:#8a92a0}
.modal-form-wrap input,.modal-form-wrap textarea{width:100%;border:1px solid #d9dde5;border-radius:8px;padding:10px 11px;font:inherit}
.modal-save{margin-top:12px}
body.modal-open{overflow:hidden}

@media(max-width:900px){
  .day-panel{display:none}
  .dashboard-btn{padding:8px 10px;font-size:12px}
}
@media(max-width:600px){
  .topbar .top-actions{gap:6px}
  .dashboard-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
  .topbar .btn.light{padding:8px 10px}
  .modal-sheet{
    top:auto;right:0;left:0;bottom:0;width:100%;height:auto;max-height:88vh;
    border-radius:20px 20px 0 0;padding:10px 14px 18px;
    animation:sheetUp .2s ease-out
  }
  @keyframes sheetUp{from{transform:translateY(45px);opacity:.65}to{transform:none;opacity:1}}
  .modal-handle{display:block;width:44px;height:4px;background:#d6d9de;border-radius:999px;margin:2px auto 10px}
  .modal-head h3{font-size:19px}
  .modal-reservation{grid-template-columns:42px 1fr auto;padding:9px}
  .modal-form-wrap .form-two{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){
  .modal-form-wrap .form-two{grid-template-columns:1fr}
}

/* V7 - simpler/easier */
.home-link,.logout-link{color:#fff;font-size:13px;font-weight:800;padding:8px 10px;border-radius:8px}
.home-link{background:#b77a0e}
.home-link:hover{background:#c98c20}
.logout-link{border:1px solid rgba(255,255,255,.25)}
.calendar-layout{grid-template-columns:1fr}
.calendar-panel{width:100%}
.modal-item-actions{display:flex;gap:6px;margin-top:7px}
.modal-item-actions button{border:0;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}
.edit-booking{background:#eaf2ff;color:#1756b6}
.delete-booking{background:#fff0ee;color:#b42318}
.modal-form-actions{display:grid;gap:7px;margin-top:12px}
.modal-cancel-edit{margin-top:0}
@media(max-width:600px){
  .home-link{font-size:12px;padding:7px 9px}
  .logout-link{font-size:12px;padding:7px 9px}
  .modal-sheet{max-height:92vh}
}

/* V8 - mobile modal redesigned as a real centered dialog */
@media(max-width:700px){
  .topbar{
    gap:10px;
  }
  .top-actions{
    margin-left:auto;
    gap:14px !important;
  }
  .home-link{
    margin-right:10px;
    background:#b77a0e;
    color:#fff;
    border-radius:8px;
    padding:8px 12px;
  }
  .logout-link{
    margin-left:8px;
    padding:8px 12px;
  }

  .mobile-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:9999 !important;
    display:none;
    align-items:center;
    justify-content:center;
    padding:14px;
  }
  .mobile-modal.open{
    display:flex !important;
  }
  .modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(8,15,28,.72);
    backdrop-filter:blur(4px);
  }
  .modal-sheet{
    position:relative !important;
    inset:auto !important;
    width:min(96vw,520px) !important;
    height:auto !important;
    max-height:88vh !important;
    border-radius:18px !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff;
    box-shadow:0 24px 80px rgba(0,0,0,.35);
    animation:modalPop .16s ease-out !important;
    display:flex;
    flex-direction:column;
  }
  @keyframes modalPop{
    from{transform:scale(.96);opacity:.45}
    to{transform:scale(1);opacity:1}
  }
  .modal-handle{
    display:none !important;
  }
  .modal-head{
    flex:0 0 auto;
    padding:14px 16px 12px;
    border-bottom:1px solid #e8ebef;
    background:#fff;
  }
  .modal-head h3{
    font-size:18px !important;
  }
  .modal-close{
    width:34px;
    height:34px;
    font-size:22px;
  }
  .modal-bookings{
    flex:0 0 auto;
    max-height:250px;
    overflow-y:auto;
    margin:0 !important;
    padding:12px 14px;
    background:#fafbfc;
    border-bottom:1px solid #eceff3;
  }
  .modal-reservation{
    grid-template-columns:48px minmax(0,1fr) auto !important;
    padding:10px !important;
    border-radius:10px;
    background:#fff;
  }
  .modal-time{
    font-size:12px;
  }
  .modal-res-main strong{
    font-size:12px;
  }
  .modal-res-main span,
  .modal-res-main small{
    font-size:10px;
  }
  .modal-item-actions{
    margin-top:7px;
  }
  .modal-item-actions button{
    padding:5px 9px;
    font-size:10px;
  }

  .modal-form-wrap{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    margin:0 !important;
    padding:12px 14px 16px !important;
    border-top:0 !important;
    background:#fff;
  }
  .modal-form-wrap .subhead{
    margin:0 0 8px;
    font-size:13px;
  }
  .modal-form-wrap .form-two{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px 10px !important;
  }
  .modal-form-wrap label{
    margin:7px 0 4px !important;
    font-size:10px !important;
  }
  .modal-form-wrap input,
  .modal-form-wrap textarea{
    padding:9px 10px !important;
    font-size:12px !important;
    border-radius:7px !important;
  }
  .modal-form-wrap textarea{
    min-height:62px;
  }
  .modal-form-actions{
    position:sticky;
    bottom:-16px;
    background:#fff;
    padding-top:10px;
    padding-bottom:2px;
  }
  .modal-save{
    margin-top:0 !important;
  }
  body.modal-open{
    overflow:hidden !important;
  }
}

/* Very small phones: still keep it as a centered window, just one-column form */
@media(max-width:430px){
  .mobile-modal{
    padding:8px;
  }
  .modal-sheet{
    width:100% !important;
    max-height:92vh !important;
    border-radius:14px !important;
  }
  .modal-form-wrap .form-two{
    grid-template-columns:1fr !important;
  }
  .modal-bookings{
    max-height:210px;
  }
  .top-actions{
    gap:10px !important;
  }
  .home-link{
    margin-right:6px;
    padding:7px 10px;
  }
  .logout-link{
    margin-left:6px;
    padding:7px 10px;
  }
}

/* V9 Professional: Menu, artikuj, plan, pagesa */
.catalog-heading h1{margin:0 0 6px}.catalog-heading p{margin:0;color:#6b7280}
.catalog-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin:18px 0}
.catalog-card,.menu-card{background:#fff;border:1px solid #e5e8ec;border-radius:14px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.catalog-card h2,.menu-card h3{margin-top:0}.catalog-form-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:10px}.align-end{display:flex;align-items:end}
.item-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.item-chip{display:flex;gap:7px;align-items:center;background:#f6f8fb;border:1px solid #e6e9ee;border-radius:999px;padding:7px 10px;font-size:12px}.item-chip small{color:#7a8493}
.how-list{display:grid;gap:11px}.how-list>div{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start}.how-list b{width:26px;height:26px;border-radius:50%;background:#f2e2b8;color:#8b5c08;display:grid;place-items:center}.how-list span{font-size:13px;color:#4b5563;line-height:1.45}
.menus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.menu-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.menu-kicker{font-size:10px;color:#b77a0e;font-weight:900;letter-spacing:1px}.menu-name-input{font-size:17px!important;font-weight:900!important;border:0!important;padding:4px 0!important}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-items-title{font-size:12px;font-weight:900;margin:15px 0 8px}.menu-item-list{display:grid;gap:6px}.menu-item-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px;background:#f8fafc;border-radius:8px}.menu-item-row strong{display:block;font-size:12px}.menu-item-row span{display:block;font-size:10px;color:#6b7280}.tiny-danger{border:0;background:#fff0ee;color:#b42318;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:800;cursor:pointer}.add-menu-item{display:grid;grid-template-columns:1.4fr 1fr auto;gap:7px;margin-top:10px}.empty.mini{padding:10px}
.planner-modal{position:fixed;inset:0;z-index:11000;display:none;align-items:center;justify-content:center;padding:16px}.planner-modal.open{display:flex}.planner-backdrop{position:absolute;inset:0;background:rgba(5,12,23,.72);backdrop-filter:blur(4px)}
.planner-dialog{position:relative;width:min(760px,96vw);max-height:90vh;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.35);display:flex;flex-direction:column}
.planner-head{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 18px;border-bottom:1px solid #e8ebef}.planner-head h3{margin:2px 0 0}
.planner-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:8px;background:#f7f8fa;border-bottom:1px solid #e8ebef}.planner-tab{border:0;background:transparent;border-radius:8px;padding:10px;font-weight:800;cursor:pointer}.planner-tab.active{background:#fff;color:#b77a0e;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.planner-body{overflow:auto;padding:16px}.planner-pane{display:none}.planner-pane.active{display:block}.planner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.planner-pane label{display:block;font-size:11px;font-weight:800;margin:8px 0 5px}.planner-pane label span{color:#8a92a0;font-weight:500}.planner-pane input,.planner-pane select,.planner-pane textarea{width:100%;border:1px solid #d9dde5;border-radius:8px;padding:10px;font:inherit}
.money-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.money-summary>div,.payment-big>div{padding:12px;background:#f7f8fa;border-radius:10px}.money-summary span,.payment-big span{display:block;font-size:10px;color:#6b7280}.money-summary strong,.payment-big strong{display:block;font-size:17px;margin-top:4px}.money-summary .remaining,.payment-big .due{background:#edf8ef}.money-summary .remaining strong,.payment-big .due strong{color:#176b2c}
.planner-section-title{font-size:13px;font-weight:900;margin-bottom:10px}.requirements-list{display:grid;gap:7px}.requirement-row{display:grid;grid-template-columns:1.4fr repeat(3,.6fr);gap:8px;align-items:center;padding:10px;border:1px solid #e5e8ec;border-radius:9px}.requirement-row strong{display:block;font-size:12px}.requirement-row span,.requirement-row small{display:block;font-size:10px;color:#6b7280}.requirement-row b{font-size:12px}.requirement-row b.neg{color:#b42318}
.special-box{margin-top:16px;border-top:1px solid #e9ecef;padding-top:14px}.special-box h4{margin:0 0 4px}.special-box p{font-size:11px;color:#6b7280;margin:0 0 10px}.special-form{display:grid;grid-template-columns:1.2fr .8fr 1.2fr auto;gap:7px}.specials-list{display:grid;gap:6px;margin-top:9px}.special-row{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;background:#f8fafc;border-radius:8px}.special-row strong{font-size:11px}.special-row span{font-size:10px;color:#6b7280}.delete-special{border:0;background:#fff0ee;color:#b42318;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:800}
.payment-big{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-big strong{font-size:22px}.payment-note{font-size:12px;line-height:1.5}.mini-text{font-size:11px}
.manage-booking{background:#fff7e5!important;color:#8b5c08!important}
@media(max-width:900px){.catalog-grid{grid-template-columns:1fr}.menus-grid{grid-template-columns:1fr}.catalog-form-row{grid-template-columns:1fr 1fr}.catalog-form-row .align-end{grid-column:1/-1}.add-menu-item{grid-template-columns:1fr 1fr auto}}
@media(max-width:600px){
  .planner-modal{padding:8px}.planner-dialog{width:100%;max-height:92vh;border-radius:14px}.planner-head{padding:13px}.planner-body{padding:12px}.planner-grid{grid-template-columns:1fr 1fr}.money-summary{grid-template-columns:1fr 1fr}.payment-big{grid-template-columns:1fr}.requirement-row{grid-template-columns:1.3fr repeat(3,.7fr);padding:8px 6px}.special-form{grid-template-columns:1fr 1fr}.special-form input[name="note"]{grid-column:1/-1}.special-form .btn{grid-column:1/-1}.price-grid{grid-template-columns:1fr 1fr}.catalog-form-row,.add-menu-item{grid-template-columns:1fr}.catalog-form-row .align-end{grid-column:auto}.menu-card{padding:14px}
}
@media(max-width:400px){.planner-grid{grid-template-columns:1fr}.money-summary{grid-template-columns:1fr 1fr}.requirement-row{font-size:9px}.requirement-row strong{font-size:10px}.requirement-row b{font-size:10px}}

/* V10 reservation menu selector */
.reservation-menu-box{margin-top:14px;padding:12px;border:1px solid #e3e7ed;border-radius:12px;background:#fbfcfe}
.reservation-menu-title{font-size:12px;font-weight:900;margin-bottom:9px}
.reservation-menu-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.res-menu-btn{border:1px solid #dfe4ea;background:#fff;border-radius:9px;padding:9px 7px;font-size:10px;font-weight:800;cursor:pointer}
.res-menu-btn.active{background:linear-gradient(135deg,#111827,#1b2638);color:#fff;border-color:#111827}
.reservation-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}
.reservation-auto-total{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}
.reservation-auto-total>div{background:#fff;border:1px solid #e8ebef;border-radius:9px;padding:8px}
.reservation-auto-total span{display:block;font-size:9px;color:#6b7280}.reservation-auto-total strong{display:block;font-size:11px;margin-top:3px}
.reservation-auto-total .final{background:#edf8ef}.reservation-auto-total .final strong{color:#176b2c}
@media(max-width:600px){.reservation-menu-buttons{grid-template-columns:1fr 1fr}.reservation-auto-total{grid-template-columns:1fr 1fr}}

/* V11: ngjyra sipas orarit të rezervimit */
.cell-event.time-green{
  background:#e9f8e8 !important;
  border-color:#8fd389 !important;
  color:#176b2c !important;
}
.cell-event.time-orange{
  background:#fff0df !important;
  border-color:#efb05e !important;
  color:#9b5b00 !important;
}
.cell-event.time-neutral{
  background:#f3f4f6 !important;
  border-color:#d1d5db !important;
  color:#4b5563 !important;
}
.time-legend i{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}
.time-legend .legend-green{background:#49ad57}
.time-legend .legend-orange{background:#eda52b}
.time-legend .legend-neutral{background:#9ca3af}

/* V12 booking/deposit actions */
.calendar-admin-actions{display:flex;gap:8px;justify-self:end}
.deposit-booking-link{display:inline-flex;align-items:center;background:#edf8ef;color:#176b2c;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:800;text-decoration:none}
@media(max-width:600px){.calendar-admin-actions{grid-row:2;grid-column:2;flex-direction:column;gap:5px}.calendar-admin-actions .btn{padding:8px 9px;font-size:10px}}

/* V13 shared additions */
.top-actions{flex-wrap:wrap}.btn.small{padding:6px 9px;font-size:10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px 8px;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:middle}th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.alert.success{background:#edf8ef;border:1px solid #b9dfc0;color:#176b2c}.full{width:100%}
@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}

/* V14 */
.back-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(15,23,42,.12);background:#fff;color:#111827;border-radius:9px;padding:8px 11px;font:inherit;font-size:11px;font-weight:900;cursor:pointer;text-decoration:none}
.semester-switch{display:none}.mobile-months{display:none}
@media(max-width:700px){
.semester-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:9px 0}
.semester-switch button{border:1px solid #dfe4ea;background:#fff;border-radius:10px;padding:10px 7px;font-size:11px;font-weight:900}
.semester-switch button.active{background:#081321;color:#fff;border-color:#081321}
.desktop-months{display:none!important}.mobile-months{display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px}
.mobile-months a{display:flex;justify-content:center;align-items:center;min-width:0}
}

/* V15 */
.admin-home-grid{grid-template-columns:repeat(2,minmax(260px,1fr));max-width:900px;margin-inline:auto}
@media(max-width:700px){.admin-home-grid{grid-template-columns:1fr}}

.role-badge-calendar{font-size:10px;font-weight:900;padding:7px 9px;border-radius:999px;background:#eef2f7;color:#394150;border:1px solid #dce2e8}
