/* Volcano Experience operations · visual system shared across all roles. */
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--ink:#292723;--muted:#78746e;--line:#e9e6e0;--surface:#fff;--orange:#c95d37;--hot:#c95d37;--violet:#b36e52;--bg:#f6f5f1;--radius:15px;background:var(--bg);color:var(--ink)}
html{scroll-behavior:smooth}body,.shell{background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}button,input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b75d3d;outline-offset:2px}
.shell{min-height:100dvh}.sidebar{background:#272724;color:#fff;width:255px;padding:24px 15px 20px;border:0;box-shadow:none;scrollbar-color:#55524e transparent}.sidebar-brand{padding:0 12px 26px;font-size:13px;letter-spacing:.04em}.sidebar-brand .brand-logo{width:47px;height:47px;object-fit:contain;border-radius:0;background:transparent}.sidebar-brand small{color:#aaa9a2;font-weight:500;letter-spacing:.17em}.sidebar nav{gap:1px}.mobile-nav-group{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#98958f;margin:16px 12px 5px;padding:0}.nav-button{display:flex;align-items:center;gap:12px;color:#d8d6d0;font-weight:520;font-size:13px;line-height:1.25;padding:10px 12px;min-height:42px;border-radius:9px}.nav-button svg{flex:none;width:18px;height:18px;opacity:.82}.sidebar .nav-button:hover{background:#353532;color:white}.sidebar .nav-button.selected{background:#bf603e;color:#fff;box-shadow:none;font-weight:650}.sidebar .nav-button.selected svg{opacity:1}.sidebar-bottom{border-top:1px solid #464541;padding-top:15px}.staging-label{color:#acaba5;font-size:9px;letter-spacing:.13em}.sidebar-bottom .nav-button{margin-top:7px}.sidebar-bottom .nav-button:before{content:'↪';font-size:18px;line-height:1;color:#c4c1bc}.nav-count{background:#f6e2d7;color:#9f4a2a;border-radius:50%;font-size:10px;padding:2px 5px}.topbar{min-height:66px;background:#fff;border-bottom:1px solid var(--line);padding:13px clamp(20px,3vw,48px);color:var(--muted);box-shadow:none}.topbar-start{gap:11px}.topbar strong{font-weight:650;color:var(--ink)}.topbar .account{font-size:12px;color:var(--muted);font-weight:550}.page{max-width:1610px;padding:clamp(22px,3vw,40px) clamp(20px,3vw,48px) 90px}.page-head{align-items:center;margin-bottom:23px}.page-head h1{font-size:clamp(26px,2.4vw,34px);font-weight:650;letter-spacing:-.042em;line-height:1.18}.page-head p{font-size:13px;color:var(--muted);margin-top:7px}.section-head{align-items:center;gap:12px}.section-head h2,.card h2{font-size:16px;font-weight:650;letter-spacing:-.02em}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(17px,1.9vw,25px);box-shadow:0 2px 13px #30281f08}.card p,.small-text{color:var(--muted);line-height:1.55}.grid{gap:14px}.grid.cols{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.grid.stats{gap:13px}.stat{min-width:0}.stat:before{display:none}.stat .label{font-size:11px;letter-spacing:.035em;text-transform:none;font-weight:600;color:var(--muted)}.stat .number{font-weight:600;font-size:clamp(23px,2.35vw,32px);letter-spacing:-.055em;line-height:1.2;color:var(--ink);overflow-wrap:anywhere}.manager-metrics strong,.staff-summary strong{font-weight:600;letter-spacing:-.04em}
.button,.action,.day-pill{border-radius:9px;font-size:13px;font-weight:600;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;box-shadow:none}.button{min-height:40px;padding:9px 15px;border:1px solid #dedbd5;background:#fff;color:var(--ink)}.button.primary{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:none}.button.primary:hover{background:#ae4e2d;border-color:#ae4e2d}.button.secondary:hover,.action:hover{background:#faf4ef;border-color:#cba995}.button:hover:not(:disabled),.action:hover:not(:disabled),.day-pill:hover:not(:disabled){transform:none;box-shadow:0 2px 8px #2c211011}.action{color:#a44c2c;padding:7px 10px;background:#fff;border-color:#e8d7cd}.form-grid{gap:15px}.field,.login-card label{font-weight:600;font-size:12px;color:#4d4943;gap:6px}.field input,.field select,.field textarea,.toolbar input,.login-card input{min-height:42px;border-radius:9px;background:#fff;border:1px solid #dedbd5;color:var(--ink);font-weight:450;padding:9px 12px;box-shadow:none}.field textarea{min-height:78px}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus{border-color:#c95d37;outline:2px solid #c95d3738}.table{font-size:12.5px}.table th{background:transparent;color:#817e79;font-size:10px;letter-spacing:.075em;font-weight:700;padding:11px 10px;border-bottom:1px solid var(--line)}.table td{padding:13px 10px;border-bottom:1px solid #eeece7}.table tbody tr:hover{background:#faf8f4}.badge{border-radius:100px;font-weight:600;font-size:11px;padding:5px 9px}.badge.new,.badge.reviewing,.badge.awaiting_deposit{background:#fbefe6;color:#995633}.badge.confirmed{background:#edf4ed;color:#3e7550}.badge.in_progress{background:#fff0dc;color:#96540e}.badge.completed{background:#e8f1eb;color:#39744a}.badge.cancelled,.badge.no_show{background:#f9e9e7;color:#a24842}.empty,.card .empty{background:#f8f7f4;color:var(--muted);border-radius:9px;padding:17px}.notice{background:#faf4e9;border-color:#e9dcc7;color:#6f5d46}.slot-card{border-radius:11px;box-shadow:none}.slot-card.is-empty{background:#fff;border-color:#e7e5df}.slot-card.is-partial{background:#fff7ed;border-color:#eac89e}.slot-card.is-full{background:#fff1f0;border-color:#eeb8b4}.slot-card.is-blocked{background:#f2f1ee;border-color:#ddd8d0}.day-pill.active{background:var(--orange);border-color:var(--orange);color:white}.activity-photo{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:10px}.activity-placeholder{background:#f1f0eb;border-radius:10px}.catalog-readonly,.offer-grid{gap:15px}.catalog-readonly .card,.offer-card{overflow:hidden}.offer-image{background:#f1ede6;object-fit:cover}.booking-line{border-color:var(--line);background:#fcfbf9}.booking-activity-header{border-color:var(--line)}.inventory-panes,.inventory-actions{gap:8px}.management-unit-card,.management-grid{margin-top:14px}.management-unit-row{border-color:var(--line)}.notification-entry{border-left-color:var(--orange)}.manager-booking-time,.manager-status{background:#f8ede7;color:#ab5838;font-weight:600}.staff-workspace .staff-time{font-weight:650;background:#f9eee6;color:#9c5336}.staff-workspace .staff-hero{background:#292723}.staff-workspace .staff-summary>div{border-color:var(--line)}
.login-shell{background:#f6f5f1}.login-story{background:#282623;color:#fff}.login-story:after{border-color:#ffffff13}.login-story h2{font-weight:650;letter-spacing:-.055em}.login-story h2 em{color:#e8a078}.login-story .eyebrow,.login-card .eyebrow{color:var(--orange)}.login-card{border-color:var(--line);background:#fff;box-shadow:0 18px 48px #30261b13}.login-card h1{font-weight:650}.login-card-head{font-weight:700}.login-card-head .brand-logo{background:#282623}
/* Mockup dashboard: readable action hierarchy and chronological photo rows. */
.overview-screen .page-head{margin-bottom:22px}.overview-screen .page-head>.button{display:inline-flex;align-items:center;gap:8px}.overview-screen .page-head>.button svg{width:16px;height:16px}.overview-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(265px,.85fr);gap:16px;align-items:start}.overview-primary,.overview-secondary{min-width:0;display:grid;gap:15px}.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.overview-metric{text-align:left;position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:143px;padding:17px;cursor:pointer}.overview-metric:hover,.overview-booking:hover,.overview-notice:hover{background:#fcfaf7}.overview-metric .metric-icon{display:grid;place-items:center;width:31px;height:31px;background:#f7eee9;border-radius:8px;color:#b75b39;margin-bottom:10px}.overview-metric .metric-icon svg{width:17px;height:17px}.overview-metric .label{font-size:11px;font-weight:600;color:#706d68}.overview-metric .number{font-size:25px;line-height:1.16;font-weight:600;letter-spacing:-.045em;margin:3px 0;color:var(--ink);overflow-wrap:anywhere}.overview-metric small{font-size:10px;color:#92908a}.overview-panel{padding:20px}.overview-panel .section-head{margin-bottom:10px}.section-kicker{display:block;color:#a25a40;font-size:9px;font-weight:700;letter-spacing:.12em;margin-bottom:3px}.overview-panel h2{margin:0;font-size:16px}.notice-counter{background:#faede6;color:#a95638;border-radius:50px;padding:3px 8px;font-size:11px;font-weight:650}.overview-booking{display:flex;width:100%;align-items:center;gap:12px;text-align:left;background:transparent;border:0;border-top:1px solid #efede8;padding:11px 2px;color:var(--ink);min-height:68px}.experience-thumb{width:48px;height:45px;object-fit:cover;flex:none;border-radius:8px}.experience-placeholder{display:grid;place-items:center;background:#efece5;color:#986d57}.overview-booking-body{min-width:0;flex:1}.overview-booking-body strong,.overview-booking-side strong{display:block;font-size:12px;font-weight:650;line-height:1.35}.overview-booking-body small,.overview-booking-side small{display:block;font-size:11px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.overview-booking-side{text-align:right;flex:none}.overview-empty{background:#f8f7f4;padding:18px!important;border-radius:9px;font-size:12px;margin:10px 0 0;color:var(--muted)}.overview-notice{width:100%;text-align:left;display:grid;grid-template-columns:26px minmax(0,1fr) 13px;gap:8px;align-items:center;background:#fff;border:0;border-top:1px solid #efede8;padding:12px 0;color:var(--ink)}.overview-notice-icon{width:23px;height:23px;border-radius:50%;background:#f8eddf;color:#a56829;display:grid;place-items:center;font-weight:750}.overview-notice.critical .overview-notice-icon{background:#fae8e6;color:#a54942}.overview-notice strong{display:block;font-weight:650;font-size:11px;line-height:1.35}.overview-notice small{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.4}.overview-shortcuts{display:grid;gap:0}.overview-shortcuts button{display:flex;gap:11px;align-items:center;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid #f0ede7;padding:12px 1px;font-size:12px;color:#4b4641}.overview-shortcuts button span{flex:1}.overview-shortcuts button svg{width:17px;height:17px;color:#ae674a}.overview-shortcuts button:hover{color:#a44c2c}
/* All pages share the same density, with a distinct phone composition. */
@media(min-width:801px) and (max-width:1350px){.overview-layout{grid-template-columns:1fr}.overview-secondary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){html{scroll-padding-top:72px}.shell{background:var(--bg)}.sidebar{width:min(320px,88vw);background:#282724;padding:18px 13px calc(32px + env(safe-area-inset-bottom));box-shadow:12px 0 35px #231b1833}.sidebar-brand{padding:3px 8px 16px}.mobile-nav-group{margin:13px 10px 5px}.sidebar nav{display:grid;gap:1px}.sidebar .nav-button{min-height:43px}.topbar{min-height:57px;padding:9px 15px;background:#fff}.topbar-start{font-size:12px}.topbar .account{max-width:35%;font-size:10px}.page,.staff-workspace .page{max-width:700px;padding:22px 14px calc(108px + env(safe-area-inset-bottom));margin:0 auto}.page-head{display:flex;align-items:flex-start;gap:11px}.page-head h1{font-size:clamp(24px,6.8vw,30px)}.page-head p{font-size:12px}.page-head>.button,.page-head>.toolbar{width:100%}.card{padding:17px;border-radius:13px}.grid.cols{grid-template-columns:1fr;gap:12px}.grid.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.grid.stats>.card:last-child:nth-child(odd){grid-column:1/-1}.stat .number{font-size:clamp(20px,6vw,27px)}.table:not(.booking-cards){font-size:12px}.table:not(.booking-cards) th,.table:not(.booking-cards) td{min-width:94px}.booking-cards{min-width:0}.booking-cards tr{border-color:var(--line);background:#fff;padding:10px 13px}.booking-cards td:nth-child(5){font-weight:600}.booking-cards .row-actions .action{min-height:42px}.mobile-tabs{background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 12px #2520180a;padding:7px 5px calc(7px + env(safe-area-inset-bottom))}.mobile-tabs button{color:#77736f;border-radius:8px}.mobile-tabs button.active{background:#f8ede7;color:#a95030}.mobile-tabs button span{font-size:20px}.mobile-tabs button small{font-weight:600;font-size:10px}.overview-layout{display:flex;flex-direction:column;gap:12px}.overview-primary,.overview-secondary{display:contents}.overview-metrics{order:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%}.overview-primary>.overview-panel:first-of-type{order:2}.overview-secondary>.overview-attention{order:1}.overview-primary>.overview-panel:last-of-type{order:3}.overview-secondary>.overview-panel:last-of-type{order:4}.overview-layout>.overview-primary,.overview-layout>.overview-secondary{width:100%}.overview-panel{width:100%;padding:16px}.overview-metric{padding:14px;min-height:118px}.overview-metric .metric-icon{width:27px;height:27px;margin-bottom:6px}.overview-metric .number{font-size:23px}.overview-booking{min-height:69px}.overview-screen .page-head>.button{width:100%;justify-content:center}.activity-photo{aspect-ratio:16/9}.offer-image{height:150px}.form-grid{grid-template-columns:minmax(0,1fr)}.booking-line .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.field input,.field select,.field textarea,.login-card input{font-size:16px}.staff-workspace .staff-summary strong{font-weight:600}.staff-workspace .mobile-tabs{background:#fff}.login-shell{min-height:100dvh;background:#f6f5f1}.login-story{background:#282623}.login-story h2{font-size:26px}}
@media(max-width:390px){.overview-metric{min-height:112px;padding:11px}.overview-metric .number{font-size:21px}.page,.staff-workspace .page{padding-inline:11px}.overview-booking-side strong{font-size:11px}.experience-thumb{width:41px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.action,.day-pill,.nav-button{transition:none}}
.booking-cell-layout{display:flex;gap:9px;align-items:center}.booking-cell-photo{width:40px;height:40px;border-radius:8px;object-fit:cover;flex:none}.booking-cell-content{min-width:0;overflow-wrap:anywhere}.booking-cell-content strong{font-weight:650}
@media(max-width:800px){.booking-cell-photo{width:43px;height:43px}.booking-cell-layout{gap:10px}}
