:root{--deep-blue:#0b72b9;--sea-cyan:#35b7c8;--sunset:#ff8a3d;--sand:#fff3d7;--mist:#f4f8fa;--ink:#163342;--muted:#6f8791;--line:#d8e7ec;--paper:#fff;--danger:#d84a3a;--ok:#239a75;--radius:16px}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;min-height:100%;overflow-x:hidden}body{color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#35b7c829,#0000 34rem),linear-gradient(#f8fcfd 0%,#eef6f7 56%,#fff7e6 100%);font-family:PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a{color:inherit;text-decoration:none}.mobile-shell{width:min(100%,480px);min-height:100vh;margin:0 auto;padding:16px 16px 104px}.sea-hero{color:#fff;background-color:#0000;background-image:linear-gradient(160deg,#0b72b9eb,#35b7c894),url(/banner-1.svg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:0 0 16px 16px;min-height:282px;padding:28px 22px;position:relative;overflow:hidden}.sea-hero:after{content:"";border:1px solid #ffffff73;border-radius:50%;width:170px;height:170px;position:absolute;bottom:-38px;right:-44px}.hero-copy{z-index:1;max-width:310px;position:relative}.eyebrow{color:var(--sunset);letter-spacing:0;font-size:12px;font-weight:800;display:inline-flex}.hero-copy .eyebrow,.sea-hero .eyebrow{color:#ffe1b9}.sea-hero h1{letter-spacing:0;margin-top:14px;font-size:42px;line-height:1.05}.sea-hero p{color:#ffffffe6;margin-top:14px;font-size:15px;line-height:1.72}.hero-panel{z-index:1;border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff2e;border:1px solid #ffffff57;align-items:center;gap:10px;min-width:208px;padding:12px 14px;display:flex;position:absolute;bottom:22px;left:22px}.hero-panel strong,.bottom-bar strong,.order-metrics strong,.data-table strong{font-family:DIN Alternate,PingFang SC,Microsoft YaHei,sans-serif}.mobile-nav{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.mobile-nav a{border:1px solid var(--line);color:var(--deep-blue);text-align:center;background:#ffffffc7;border-radius:14px;padding:10px 8px;font-size:13px;font-weight:700}.section-block,.booking-card,.success-card,.order-card,.empty-state{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffe6}.section-block,.booking-card,.success-card{margin-top:14px;padding:16px}.section-title{color:var(--deep-blue);align-items:center;gap:8px;margin-bottom:12px;display:flex}.section-title h2{font-size:17px}.location-scroll{scroll-snap-type:x mandatory;gap:10px;padding-bottom:3px;display:flex;overflow-x:auto}.location-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--mist);min-height:156px;color:var(--ink);text-align:left;scroll-snap-align:start;flex:0 0 74%;padding:14px}.location-card.active{border-color:var(--sea-cyan);background:linear-gradient(#e7fbfd,#fffdf8)}.location-card span{font-size:18px;font-weight:800;display:block}.location-card p{min-height:50px;color:var(--muted);margin:10px 0 12px;font-size:13px;line-height:1.55}.location-card b{color:var(--sunset);font-size:19px}.booking-card{gap:12px;display:grid}label{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:13px;outline:none}input,select{height:46px;padding:0 12px}textarea{resize:vertical;min-height:86px;padding:12px}input:focus,select:focus,textarea:focus{border-color:var(--sea-cyan)}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.inline-field{grid-template-columns:1fr 92px;gap:8px;display:grid}.inline-field button,.bottom-bar button,.primary-wide,.action-row button,.row-actions button,.ghost-button,.danger-button{border:0;border-radius:13px;justify-content:center;align-items:center;gap:6px;font-weight:800;display:inline-flex}.inline-field button,.action-row button,.row-actions button,.ghost-button{border:1px solid var(--line);color:var(--deep-blue);background:#fff}.hint{color:var(--muted);font-size:13px;line-height:1.5}.toast-line,.admin-message{color:var(--deep-blue);background:#eaf8fa;border-radius:13px;margin-top:12px;padding:12px 14px;font-weight:700}.success-card{background:#edf9f4;border-color:#239a7547;gap:10px;display:flex}.success-card p{color:var(--muted);margin-top:4px;line-height:1.5}.bottom-bar{z-index:10;width:min(100%,480px);padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;grid-template-columns:1fr 150px;gap:12px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-bar span,.bottom-bar small{color:var(--muted);font-size:12px;display:block}.bottom-bar strong{color:var(--sunset);font-size:24px}.bottom-bar button,.primary-wide{background:var(--deep-blue);color:#fff;min-height:46px;padding:0 16px}.mobile-footer{color:var(--muted);justify-content:center;gap:6px;margin:22px 0;font-size:13px;display:flex}.mobile-footer a{color:var(--deep-blue);font-weight:800}.top-header{grid-template-columns:92px 1fr 92px;align-items:center;padding:10px 0 16px;display:grid}.top-header a{color:var(--deep-blue);align-items:center;gap:4px;font-size:13px;font-weight:800;display:inline-flex}.top-header h1{text-align:center;font-size:20px}.order-list{gap:12px;display:grid}.order-card,.empty-state{padding:15px}.order-head,.order-metrics,.action-row,.photographer-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.order-head span{font-size:18px;font-weight:900}.order-no{color:var(--muted);margin:6px 0 12px;font-size:12px}.order-metrics{color:var(--muted);flex-wrap:wrap;font-size:13px}.order-metrics strong{color:var(--sunset);font-size:20px}.status-pill{background:var(--mist);width:fit-content;color:var(--deep-blue);border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;display:inline-flex}.status-pill.in_progress{color:#167d8d;background:#e7fbfd}.status-pill.completed{color:var(--ok);background:#edf9f4}.status-pill.canceled{color:var(--danger);background:#f8eeee}.status-pill.cancel_pending{color:#b86116;background:#fff3df}.photographer-line,.warning-line{background:var(--mist);color:var(--muted);border-radius:12px;margin-top:12px;padding:10px;font-size:13px;line-height:1.5}.warning-line{color:#9b561b;background:#fff4e7}.action-row{flex-wrap:wrap;justify-content:flex-start;margin-top:12px}.action-row button{min-height:36px;padding:0 12px}.empty-state{min-height:210px;color:var(--muted);text-align:center;place-items:center;display:grid}.recover-page{background:linear-gradient(#e9fbfd,#fff9eb)}.recover-card{margin-top:36px}.recover-card h2{font-size:24px}.recover-card p{color:var(--muted);line-height:1.65}.admin-login{background:linear-gradient(135deg,#e8fbfd,#fff7e7);place-items:center;min-height:100vh;padding:24px;display:grid}.login-box{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:14px;width:min(100%,420px);padding:28px;display:grid}.login-box h1{font-size:30px}.login-message{color:var(--danger);font-weight:700}.admin-shell{background:#eef6f7;grid-template-columns:236px 1fr;min-height:100vh;display:grid}.admin-side{border-right:1px solid var(--line);color:#fff;background:#102f3d;flex-direction:column;gap:26px;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.admin-side h1{margin-top:8px;font-size:28px}.admin-side nav{gap:8px;display:grid}.admin-side nav button,.admin-side .ghost-button{color:#fff;background:#ffffff0f;border-color:#ffffff24;justify-content:flex-start;min-height:42px;padding:0 12px}.admin-side nav button.active{background:var(--sea-cyan);color:#062b37}.admin-main{padding:26px;overflow:hidden}.admin-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.admin-top h2{font-size:28px}.admin-top p{color:var(--muted);margin-top:4px}.admin-grid{gap:16px;display:grid}.admin-grid.two{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr)}.admin-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:18px}.admin-card h3{margin-bottom:14px;font-size:18px}.toolbar{gap:10px;margin-bottom:12px;display:flex}.toolbar select{width:180px}.data-table{gap:9px;display:grid}.table-row{border:1px solid var(--line);background:var(--mist);border-radius:13px;grid-template-columns:minmax(240px,1.4fr) 120px 118px 86px minmax(230px,1fr);align-items:center;gap:12px;padding:12px;display:grid}.table-row p{color:var(--muted);margin-top:5px;font-size:13px}.row-actions{justify-content:flex-end;gap:8px;display:flex}.row-actions button,.row-actions select{height:36px;min-height:36px;padding:0 10px;font-size:13px}.list-item{border:1px solid var(--line);background:var(--mist);width:100%;color:var(--ink);text-align:left;border-radius:13px;justify-content:space-between;gap:12px;margin-bottom:8px;padding:12px;display:flex}.list-item b{color:var(--deep-blue)}.admin-form{gap:11px;display:grid}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.checkbox-grid label,.switch-line{color:var(--ink);align-items:center;gap:8px;display:flex}.checkbox-grid input,.switch-line input{width:16px;height:16px}.danger-button{min-height:42px;color:var(--danger);background:#fff1ee}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-side{height:auto;position:static}.admin-side nav{grid-template-columns:repeat(2,1fr)}.admin-grid.two,.table-row{grid-template-columns:1fr}.row-actions{flex-wrap:wrap;justify-content:flex-start}}
