/* BOOK AKAI V3.3.13 — visual/navigation-only overlay for Cuti and Hub.
   Keeps existing Flask routes, forms, CSRF, access control and workflow unchanged. */
:root {
  --akai-page:#f4f6f9;
  --akai-page-bg:radial-gradient(1200px 420px at -10% -10%, rgba(255,153,92,.65) 0%, rgba(255,153,92,.28) 26%, transparent 62%), radial-gradient(900px 360px at 105% 0%, rgba(170,12,49,.18) 0%, rgba(170,12,49,.07) 30%, transparent 60%), linear-gradient(180deg, #fff7f8 0%, #f8fafc 28%, #f4f6f9 100%);
  --akai-paper:#fff;
  --akai-paper-alt:#f8fafc;
  --akai-text:#1b2b42;
  --akai-subtle:#64748b;
  --akai-stroke:#dfe6ee;
  --akai-rose:#aa0c31;
  --akai-rose-hover:#8b0928;
  --akai-rose-soft:#fff0f3;
  --akai-shadow:0 10px 30px rgba(30,38,60,.06);
  color-scheme:light;
}
html[data-akai-theme="dark"] {
  --akai-page:#0e1522;
  --akai-paper:#182335;
  --akai-paper-alt:#222f44;
  --akai-text:#edf3ff;
  --akai-subtle:#b2c0d3;
  --akai-stroke:#384963;
  --akai-rose:#f16a8e;
  --akai-rose-hover:#ff8fa9;
  --akai-rose-soft:#492839;
  --akai-shadow:0 10px 34px rgba(0,0,0,.22);
  --akai-page-bg:linear-gradient(180deg,#0e1522 0%, #111a2a 50%, #0e1522 100%);
  --bg:var(--akai-page);--surface:var(--akai-paper);--ink:var(--akai-text);
  --muted:var(--akai-subtle);--line:var(--akai-stroke);--accent:var(--akai-rose);
  --accent2:var(--akai-rose-soft);--red:#dc3a63;--nav:#182335;
  color-scheme:dark;
}
body.akai-cuti-layout,body.akai-hub-layout{background-color:var(--akai-page);background-image:var(--akai-page-bg);background-attachment:fixed;color:var(--akai-text)}
/* Global navigation: same across all BOOK AKAI subdomains */
.akai-global-header {
  position:sticky;top:0;z-index:110;min-height:76px;background:var(--akai-paper);
  border-bottom:1px solid var(--akai-stroke);box-shadow:0 1px 5px #152e4510;
  display:flex;align-items:center;gap:clamp(15px,2vw,28px);padding:10px clamp(14px,2vw,35px);
}
.akai-global-header a{text-decoration:none}
.akai-global-brand{flex:0 0 auto;display:inline-flex;align-items:center;min-width:180px}
.akai-global-brand img{width:185px;height:53px;object-fit:contain;object-position:left center}
.akai-global-links{display:flex;flex:1;align-items:center;gap:5px;min-width:0}
.akai-global-links>a{
  display:inline-flex;align-items:center;padding:10px clamp(8px,1vw,16px);border-radius:10px;
  font-weight:700;font-size:14px;color:var(--akai-text);white-space:nowrap;border:1px solid transparent;
}
.akai-global-links>a:hover,.akai-global-links>a.is-active{color:var(--akai-rose);background:var(--akai-rose-soft)}
.akai-global-links>a.is-active{border-color:color-mix(in srgb,var(--akai-rose) 18%,transparent)}
.akai-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0}
.akai-theme-toggle,.akai-local-menu-button,.akai-global-mobile>summary,.akai-profile-menu>summary {
  border:1px solid var(--akai-stroke);background:var(--akai-paper-alt);color:var(--akai-text);
  border-radius:11px;min-height:40px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:7px;
  cursor:pointer;font-size:13px;font-weight:750;white-space:nowrap;
}
.akai-theme-toggle:hover,.akai-local-menu-button:hover,.akai-global-mobile>summary:hover,.akai-profile-menu>summary:hover{border-color:var(--akai-rose);color:var(--akai-rose)}
.akai-theme-icon{font-size:20px;line-height:1}
.akai-global-mobile,.akai-profile-menu{position:relative}
.akai-global-mobile>summary,.akai-profile-menu>summary{list-style:none}
.akai-global-mobile>summary::-webkit-details-marker,.akai-profile-menu>summary::-webkit-details-marker{display:none}
.akai-avatar{display:grid;place-items:center;font-size:21px;color:var(--akai-rose);line-height:1}
.akai-profile-name{max-width:142px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.akai-profile-popover,.akai-global-mobile>nav{
  position:absolute;right:0;top:calc(100% + 10px);width:270px;max-width:calc(100vw - 25px);
  padding:12px;background:var(--akai-paper);color:var(--akai-text);
  border:1px solid var(--akai-stroke);box-shadow:0 20px 45px #101c3440;border-radius:14px;z-index:121;
}
.akai-profile-popover strong,.akai-profile-popover small{display:block;overflow-wrap:anywhere}
.akai-profile-popover small{color:var(--akai-subtle);font-size:12px;margin-top:3px}
.akai-profile-role{display:inline-flex;border-radius:20px;background:var(--akai-rose-soft);color:var(--akai-rose);font-size:11px;font-weight:750;padding:3px 10px;margin:10px 0 8px}
.akai-profile-popover a,.akai-profile-popover button,.akai-global-mobile nav a{
  display:block;width:100%;padding:11px 12px;text-align:left;color:var(--akai-text);
  background:transparent;border:0;border-radius:8px;font-size:13px;font-weight:650;
}
.akai-profile-popover a:hover,.akai-profile-popover button:hover,.akai-global-mobile nav a:hover{background:var(--akai-rose-soft);color:var(--akai-rose)}
.akai-profile-popover form{margin:0;border-top:1px solid var(--akai-stroke);padding-top:4px}
.akai-login-link{font-size:13px;font-weight:750;border:1px solid var(--akai-rose);color:var(--akai-rose);padding:10px 16px;border-radius:10px}
.akai-global-mobile,.akai-local-menu-button{display:none}
.akai-global-header :is(a,button,summary):focus-visible,.akai-feature-nav a:focus-visible,.akai-cuti-layout .nav a:focus-visible{outline:3px solid #e69c37;outline-offset:2px}
/* Cuti: move all work-navigation to left, remove legacy colored sidebar */
body.akai-cuti-layout .shell{min-height:calc(100vh - 76px);display:flex}
body.akai-cuti-layout .shell>.sidebar {
  position:sticky;top:76px;height:calc(100vh - 76px);flex:0 0 242px;width:242px;min-width:0;
  background:var(--akai-paper);color:var(--akai-text);border-right:1px solid var(--akai-stroke);
  box-shadow:none;padding:19px 12px;overflow-y:auto;z-index:21;gap:18px;
}
body.akai-cuti-layout .sidebar .brand{padding:8px 10px 13px;border-bottom:1px solid var(--akai-stroke)}
body.akai-cuti-layout .sidebar-logo-wrap{background:var(--akai-paper-alt);border:1px solid var(--akai-stroke);padding:8px;border-radius:10px}
body.akai-cuti-layout .sidebar .brand small{color:var(--akai-subtle)}
body.akai-cuti-layout .nav-label{color:var(--akai-subtle);font-size:11px;letter-spacing:.7px}
body.akai-cuti-layout .sidebar .nav{display:grid;gap:4px;overflow:visible}
body.akai-cuti-layout .sidebar .nav a{width:100%;white-space:normal;color:var(--akai-text);background:transparent;border:1px solid transparent;padding:11px 13px;border-radius:10px;font-size:13px}
body.akai-cuti-layout .sidebar .nav a:hover{background:var(--akai-rose-soft);color:var(--akai-rose)}
body.akai-cuti-layout .sidebar .nav a.active{background:var(--akai-rose-soft);color:var(--akai-rose);border-color:color-mix(in srgb,var(--akai-rose) 18%,transparent);box-shadow:none}
body.akai-cuti-layout .nav-count{background:var(--akai-rose-soft);color:var(--akai-rose)}
body.akai-cuti-layout .main{flex:1;min-width:0;max-width:none;padding:26px clamp(14px,2.5vw,40px) 48px}
body.akai-cuti-layout .topbar{margin-bottom:22px}
body.akai-cuti-layout .page-title{color:var(--akai-text)}
body.akai-cuti-layout .eyebrow{color:var(--akai-rose)}
/* Hub (Portal, Asset, Admin, Scanner): app feature links in sidebar */
.akai-hub-frame{display:flex;align-items:stretch;min-height:calc(100vh - 154px)}
.akai-hub-sidebar {
  position:sticky;top:76px;align-self:flex-start;width:237px;flex:0 0 237px;
  height:calc(100vh - 76px);overflow-y:auto;background:var(--akai-paper);
  border-right:1px solid var(--akai-stroke);padding:25px 12px;z-index:20;
}
.akai-side-heading{padding:0 13px 12px;color:var(--akai-subtle);font-size:11px;letter-spacing:.8px;font-weight:850}
.akai-feature-nav{display:grid;gap:5px}
.akai-feature-nav a{display:flex;align-items:center;gap:10px;border-radius:10px;color:var(--akai-text);font-size:13px;font-weight:700;line-height:1.35;padding:11px 12px;overflow-wrap:anywhere}
.akai-feature-nav a .ico{height:19px;width:19px;flex:none}
.akai-feature-nav a:hover,.akai-feature-nav a.is-active{background:var(--akai-rose-soft);color:var(--akai-rose)}
.akai-hub-primary{flex:1;min-width:0}
.akai-hub-primary .hub-container{max-width:none;width:100%;margin:0 auto;padding:24px clamp(14px,2vw,28px) 54px}
.akai-portal-notifications{position:relative;float:right;margin:16px 26px 0 0;z-index:25}
.akai-portal-notifications .bell-menu>summary{border:1px solid var(--akai-stroke);gap:8px;background:var(--akai-paper);color:var(--akai-text)}
.akai-portal-notifications .bell-popover{background:var(--akai-paper);border:1px solid var(--akai-stroke);color:var(--akai-text)}
.akai-sidebar-overlay{display:none}
/* Light theme harmonization for Cuti */
body.akai-cuti-layout .panel,body.akai-cuti-layout .stat,body.akai-cuti-layout .review-box,body.akai-cuti-layout .recap-dialog-inner{background:var(--akai-paper);border-color:var(--akai-stroke);box-shadow:var(--akai-shadow)}
body.akai-cuti-layout .btn.primary{background:#a60d32;border-color:#a60d32;color:#fff}
body.akai-cuti-layout .form-stack input,body.akai-cuti-layout .form-stack textarea,body.akai-cuti-layout .form-stack select{background:var(--akai-paper);color:var(--akai-text);border-color:var(--akai-stroke)}
/* Cross-platform dark mode, without changing semantic status/approval badges. */
html[data-akai-theme="dark"] body{background:var(--akai-page);color:var(--akai-text)}
html[data-akai-theme="dark"] :is(.panel,.stat,.table-card,.form-card,.app-card,.public-card,.detail-card,.auth-panel,.search-form,.recap-dialog-inner,.review-box,.info-note,.print-wrap,.notice,.flash,.form-panel,.dropdown-panel,.admin-panel,.book-modal,.hub-footer){background:var(--akai-paper);color:var(--akai-text);border-color:var(--akai-stroke)}
html[data-akai-theme="dark"] :is(.page-intro h1,.section-heading h2,.data-table td strong,.public-info h2,.app-card h3,.panel h2,.panel h3,.stat .number,.details strong,.page-title,.form-stack label){color:var(--akai-text)}
html[data-akai-theme="dark"] :is(.data-table th,th,.weekday,.feature-strip,.reason-text,.comment,.day-cell,.count-pill,.role-badge,.notice-link,.bell-menu>summary,.hub-mobile-panel,.book-modal-content){background:var(--akai-paper-alt);color:var(--akai-text);border-color:var(--akai-stroke)}
html[data-akai-theme="dark"] :is(.day-cell.weekend,.day-cell.empty-day,.day-cell.national-holiday,.day-cell.collective-holiday){background:var(--akai-paper-alt)}
html[data-akai-theme="dark"] :is(td,.data-table td,.data-table th){border-color:var(--akai-stroke)}
html[data-akai-theme="dark"] :is(.data-table tr:hover td,tbody tr:hover,.activity-link:hover,.app-card:hover){background:var(--akai-paper-alt)}
html[data-akai-theme="dark"] :is(input,select,textarea){color:var(--akai-text);background:var(--akai-paper-alt);border-color:var(--akai-stroke)}
html[data-akai-theme="dark"] :is(input::placeholder,textarea::placeholder){color:#a1aec2}
html[data-akai-theme="dark"] :is(.form-stack input:disabled,.btn.secondary,.btn-light,.btn-ghost,.sidebar-link){background:var(--akai-paper-alt);color:var(--akai-text);border-color:var(--akai-stroke)}
html[data-akai-theme="dark"] .btn-primary,html[data-akai-theme="dark"] body.akai-cuti-layout .btn.primary{background:#bf214c;color:white;border-color:#bf214c}
html[data-akai-theme="dark"] :is(.action-link,.link,td a:not(.btn),.eyebrow){color:#ff8da9}
html[data-akai-theme="dark"] :is(.hub-footer,.feature-strip){border-color:var(--akai-stroke)}
html[data-akai-theme="dark"] .feature-strip>div:not(:first-child){border-color:var(--akai-stroke)}
html[data-akai-theme="dark"] :is(.app-card small,.app-card p,.page-intro p,.stat .name,.stat .meta,.activity-link small,.auth-panel p,.details>div span,.hint,.muted,.section-heading p){color:var(--akai-subtle)}
html[data-akai-theme="dark"] :is(.form-stack label,.form-grid label){color:#d5dfea}
html[data-akai-theme="dark"] .auth-screen{background-color:#0e1522; background-image:linear-gradient(120deg,rgba(5,12,23,.68),rgba(6,11,27,.83)),url('/static/signin-background.jpg')}
html[data-akai-theme="dark"] .auth-logo,html[data-akai-theme="dark"] .akai-global-brand img{filter:none}
html[data-akai-theme="dark"] .auth-subtitle{color:#fd95af}
html[data-akai-theme="dark"] .tag.green,html[data-akai-theme="dark"] .tag.approved{background:#183e34;color:#8af0c7}
html[data-akai-theme="dark"] .tag.amber,html[data-akai-theme="dark"] .tag.pending{background:#513e1d;color:#f5d08a}
html[data-akai-theme="dark"] .tag.red,html[data-akai-theme="dark"] .tag.rejected{background:#512536;color:#ffa8b6}
html[data-akai-theme="dark"] .tag.neutral{background:#35435a;color:#d9e4ef}
html[data-akai-theme="dark"] .hub-header{background:var(--akai-paper)}
html[data-akai-theme="dark"] .form-stack input:focus,html[data-akai-theme="dark"] :is(input,select,textarea):focus{outline-color:#ed7894}
@media(max-width:1140px){.akai-global-header{gap:12px}.akai-global-brand{min-width:155px}.akai-global-brand img{width:155px}.akai-global-links>a{font-size:12px;padding:9px 7px}.akai-profile-name{max-width:90px}.akai-theme-text{display:none}}
@media(max-width:900px){
 .akai-global-header{min-height:65px;padding:8px 13px;gap:8px}
 .akai-has-local-menu .akai-global-header{padding-left:62px}
 .akai-global-brand{min-width:0}.akai-global-brand img{height:45px;width:143px}
 .akai-global-links{display:none}
 .akai-global-mobile{display:block}
 .akai-profile-name{display:none}
 .akai-global-mobile>nav{width:215px}
 .akai-local-menu-button{display:inline-flex;position:absolute;left:13px;top:50%;transform:translateY(-50%);width:40px;min-width:40px;min-height:40px;padding:0;border-radius:12px;background:linear-gradient(180deg,#f6e1e7 0%, #f3f6fa 100%);border:1px solid color-mix(in srgb,var(--akai-rose) 24%, var(--akai-stroke));box-shadow:0 6px 14px rgba(27,43,66,.08);font-size:0;z-index:122}
 .akai-local-menu-button::before{content:"›";font-size:24px;line-height:1;font-weight:900;color:var(--akai-rose);transform:translateX(1px)}
 body.akai-nav-open .akai-local-menu-button::before{content:"‹";transform:translateX(-1px)}
 .akai-local-menu-button:hover{background:linear-gradient(180deg,#fff0f3 0%, #ffffff 100%)}
 body.akai-cuti-layout .shell>.sidebar, .akai-hub-sidebar{
   position:fixed;top:65px;left:0;bottom:0;height:calc(100dvh - 65px);width:min(305px,86vw);max-width:305px;
   transform:translateX(-110%);visibility:hidden;pointer-events:none;box-shadow:10px 15px 30px #1115;
   z-index:121;transition:transform .22s ease,visibility .22s ease;
 }
 body.akai-cuti-layout .shell>.sidebar{flex-basis:auto;display:flex !important;flex-direction:column}
 body.akai-cuti-layout .shell{display:block;min-height:0}
 body.akai-cuti-layout .main{padding:19px 14px 40px;max-width:none}
 .akai-hub-primary{width:100%}
 .akai-hub-sidebar{flex-basis:auto}
 body.akai-nav-open .sidebar,body.akai-nav-open .akai-hub-sidebar{transform:translateX(0);visibility:visible;pointer-events:auto}
 .akai-sidebar-overlay,.sidebar-backdrop{display:block;position:fixed;inset:65px 0 0;z-index:120;background:#070d17a1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s}
 body.akai-nav-open .akai-sidebar-overlay,body.akai-nav-open .sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}
 body.akai-nav-open{overflow:hidden}
 .akai-hub-primary .hub-container{padding:18px 13px 38px}
 .akai-portal-notifications{margin:10px 15px 0 0}
}
@media(max-width:600px){
 .akai-global-header{flex-wrap:nowrap}
 .akai-has-local-menu .akai-global-header{padding-left:58px}
 .akai-global-brand img{width:111px;height:43px}
 .akai-theme-toggle,.akai-local-menu-button,.akai-global-mobile>summary,.akai-profile-menu>summary{padding:7px 9px;min-height:38px}
 .akai-header-actions{gap:4px}
 .akai-local-menu-button span,.akai-global-mobile>summary span{display:none}
 .akai-profile-menu>summary{font-size:12px}
 .akai-profile-popover{right:-55px}
 .akai-global-mobile>nav{right:-65px}
 .akai-global-header .akai-login-link{padding:6px 8px}
}
@media print{
 .akai-global-header,.akai-hub-sidebar,.akai-sidebar-overlay,body.akai-cuti-layout .sidebar,.akai-portal-notifications{display:none!important}
 .akai-hub-primary,.akai-hub-frame{display:block}
 body.akai-cuti-layout .main{padding:0}
 html[data-akai-theme="dark"] body{background:#fff!important;color:#000!important}
}
@media(prefers-reduced-motion:reduce){.akai-hub-sidebar,.akai-sidebar-overlay,body.akai-cuti-layout .shell>.sidebar{transition:none!important}}
/* Portal notification bell remains in global header */
.akai-header-bell{position:relative}
.akai-header-bell>summary{position:relative;list-style:none;min-width:39px;min-height:40px;display:grid;place-items:center;cursor:pointer;border-radius:11px;background:var(--akai-paper-alt);border:1px solid var(--akai-stroke);font-size:19px}
.akai-header-bell>summary::-webkit-details-marker{display:none}
.akai-bell-count{position:absolute;right:-3px;top:-6px;background:#bb2149;color:#fff;border-radius:20px;min-width:16px;font-weight:800;font-size:10px;line-height:16px;text-align:center}
.akai-bell-popover{position:absolute;z-index:125;right:0;top:calc(100% + 11px);width:330px;max-width:calc(100vw - 20px);max-height:65vh;overflow:auto;padding:15px;background:var(--akai-paper);border-radius:12px;border:1px solid var(--akai-stroke);box-shadow:0 16px 36px #15182740;color:var(--akai-text)}
.akai-bell-item{display:block;border:0;border-bottom:1px solid var(--akai-stroke);padding:10px 4px;width:100%;text-align:left;background:transparent;color:var(--akai-text)}
.akai-bell-item b,.akai-bell-item span{display:block;overflow-wrap:anywhere}
.akai-bell-item span{color:var(--akai-subtle);font-size:12px}
.akai-bell-popover>a{display:block;color:var(--akai-rose);font-weight:750;margin-top:9px}
html[data-akai-theme="dark"] .akai-global-brand{background:#fff;padding:3px 8px;border-radius:9px}
html[data-akai-theme="dark"] body.akai-cuti-layout .sidebar-logo-wrap{background:#fff}
html[data-akai-theme="dark"] #book-akai-dialog .bk-modal-card{background:var(--akai-paper);color:var(--akai-text);border-color:var(--akai-stroke)}
html[data-akai-theme="dark"] #book-akai-dialog :is(h2,p,.bk-modal-input-wrap){color:var(--akai-text)}
html[data-akai-theme="dark"] #book-akai-dialog .bk-modal-cancel{background:var(--akai-paper-alt);color:var(--akai-text);border-color:var(--akai-stroke)}
html[data-akai-theme="dark"] #book-akai-dialog .bk-modal-input-wrap input{background:var(--akai-paper-alt);color:var(--akai-text);border-color:var(--akai-stroke)}
