:root{--ink:#132c35;--ink2:#1c3c45;--cream:#f5efdf;--paper:#fffaf0;--sun:#e9b568;--coral:#df6849;--sage:#75978d;--line:rgba(19,44,53,.14);--muted:#68787b;--shadow:0 22px 60px rgba(19,44,53,.13)}*{box-sizing:border-box}body{margin:0;background:#f7f3e9;color:var(--ink);font:15px/1.55 'DM Sans',sans-serif}h1,h2,h3{font-family:'Fraunces',Georgia,serif;letter-spacing:-.035em;line-height:1.05;margin-top:0}h1{font-size:clamp(2.5rem,5vw,4.5rem);margin-bottom:.5rem}h2{font-size:1.7rem}button,input,select,textarea{font:inherit}button{cursor:pointer}.eyebrow{font-size:.68rem;letter-spacing:.18em;font-weight:700;color:var(--sun);margin:0 0 .7rem}.eyebrow.dark{color:#a84935}.auth-shell{position:fixed;inset:0;z-index:50;width:100%;min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#f7f3e9;transform:translateX(0);opacity:1;transition:transform .58s cubic-bezier(.72,0,.2,1),opacity .45s ease;will-change:transform}.auth-shell.is-leaving{transform:translateX(100%);opacity:.98;pointer-events:none}.auth-art{background:var(--ink);color:#fff;padding:clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-art:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:var(--coral);right:-180px;bottom:-220px;opacity:.7}.auth-art>*{position:relative}.auth-art>a{color:rgba(255,255,255,.7);text-decoration:none}.auth-art h1{font-size:clamp(3.5rem,8vw,7rem)}.auth-art h1 em{font-style:normal;color:var(--sun)}.auth-art p:not(.eyebrow){color:rgba(255,255,255,.65);max-width:500px}.auth-art small{letter-spacing:.15em}.auth-card{display:grid;place-items:center;padding:2rem}.auth-card>div{width:min(430px,100%)}.auth-card h2{font-size:2.4rem}.auth-card p{color:var(--muted)}form{display:grid;gap:1rem}label{display:grid;gap:.4rem;font-size:.76rem;font-weight:700;color:#42595f}input,select,textarea{width:100%;border:1px solid var(--line);background:#fffdfa;border-radius:10px;padding:.78rem .85rem;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(223,104,73,.12)}textarea{resize:vertical}.primary,.secondary{border:0;border-radius:99px;padding:.78rem 1.1rem;font-weight:700}.primary{background:var(--ink);color:#fff}.primary.small{font-size:.78rem;padding:.65rem 1rem}.secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:var(--ink);color:#fff;padding:1.4rem;display:flex;flex-direction:column;z-index:20}.admin-brand{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;margin-bottom:2rem}.admin-brand svg{width:34px;fill:none;stroke:var(--sun);stroke-width:2}.admin-brand .cut{stroke:#fff}.admin-brand span{display:flex;flex-direction:column}.admin-brand b{letter-spacing:.14em}.admin-brand small{font-size:.56rem;letter-spacing:.17em;color:rgba(255,255,255,.5)}.sidebar nav{display:grid;gap:.25rem}.sidebar nav button{background:transparent;border:0;color:rgba(255,255,255,.58);text-align:left;padding:.72rem .8rem;border-radius:9px;font-weight:600}.sidebar nav button.active,.sidebar nav button:hover{background:rgba(255,255,255,.1);color:#fff}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:1rem;display:flex;align-items:center;gap:.65rem}.sidebar-user>span{width:34px;height:34px;border-radius:50%;background:var(--sun);color:var(--ink);display:grid;place-content:center;font-weight:700}.sidebar-user div{display:flex;flex-direction:column}.sidebar-user small{color:rgba(255,255,255,.45)}.sidebar-user button{margin-left:auto;border:0;background:transparent;color:#fff}.workspace{grid-column:2}.mobile-header{display:none}.workspace-inner{padding:clamp(1.4rem,4vw,4rem);max-width:1500px;margin:auto}.view{display:none}.view.active{display:block}.view-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}.quiet-link{color:var(--ink);text-decoration:none;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.stat{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.2rem}.stat small{color:var(--muted);display:block}.stat strong{font:700 2.2rem 'Fraunces'}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.3rem}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-size:1.3rem;margin:0}.panel-head button{border:0;background:transparent;color:#a84935;font-weight:700}.mini-list{display:grid;margin-top:1rem}.mini-row{display:flex;align-items:center;gap:.7rem;padding:.7rem 0;border-top:1px solid var(--line)}.mini-row span:first-child{width:28px;color:var(--coral);font-weight:700}.mini-row small{margin-left:auto;color:var(--muted)}.day-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.admin-day{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem;text-align:left;min-height:145px;display:flex;flex-direction:column}.admin-day:hover{border-color:var(--coral)}.admin-day .day-meta{display:flex;justify-content:space-between;font-size:.64rem;letter-spacing:.08em;color:var(--muted)}.admin-day .published{color:#3e7d69}.admin-day h3{font-size:1.15rem;margin:auto 0 .3rem}.admin-day p{font-size:.75rem;color:var(--muted);margin:0}.route-list,.hotel-list{display:grid;gap:.7rem}.route-row,.hotel-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:1rem;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem}.route-order{font:700 1.4rem 'Fraunces';color:var(--coral)}.route-row h3,.hotel-row h3{margin:0;font-size:1.15rem}.route-row p,.hotel-row p{margin:0;color:var(--muted);font-size:.78rem}.row-actions{display:flex;gap:.5rem}.icon-btn{border:1px solid var(--line);background:transparent;border-radius:8px;padding:.45rem .65rem;color:var(--ink)}.icon-btn.danger{color:#a84935}.fixed-chip{font-size:.62rem;background:var(--sun);padding:.35rem .55rem;border-radius:99px}.form-panel{max-width:640px}.form-panel h2{font-size:1.35rem}.accounts-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,360px));gap:1rem;margin-bottom:1rem}.account-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.1rem;display:flex;align-items:center;gap:.8rem}.account-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-content:center;color:#fff;font-weight:700}.account-card small{display:block;color:var(--muted)}.upload-panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1rem;margin-bottom:1.2rem}.drop-zone{border:2px dashed rgba(19,44,53,.2);border-radius:12px;padding:2.4rem;text-align:center;cursor:pointer}.drop-zone input{position:absolute;opacity:0;pointer-events:none}.drop-zone span{font-size:1rem}.drop-zone small{display:block;color:var(--muted);font-weight:400}.upload-fields{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:.8rem;align-items:end}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.photo-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.photo-card img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover}.photo-body{padding:.8rem}.photo-body p{font-size:.78rem;margin:0 0 .5rem}.photo-body small{color:var(--muted)}.toast{position:fixed;right:1rem;top:1rem;z-index:100;background:var(--ink);color:#fff;padding:.8rem 1rem;border-radius:10px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}.toast[hidden]{display:none!important}.toast.show{opacity:1;visibility:visible;transform:none}.toast.error{background:#9d3f31}dialog{border:0;border-radius:20px;padding:1.7rem;width:min(720px,calc(100% - 2rem));max-height:90vh;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(4,21,27,.72);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:1rem;top:1rem;border:1px solid var(--line);background:transparent;width:35px;height:35px;border-radius:50%;font-size:1.3rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.form-grid .wide{grid-column:1/-1}.checkbox{display:flex;align-items:center;grid-template-columns:auto 1fr}.checkbox input{width:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}@media(max-width:1050px){.day-admin-grid,.photo-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px),(hover:none) and (pointer:coarse){.auth-shell{grid-template-columns:1fr}.auth-art{min-height:38vh;padding:2rem}.auth-art h1{font-size:3.1rem}.auth-card{padding:2rem 1rem}.app-shell{display:block}.sidebar{transform:translateX(-110%);transition:.2s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.workspace{grid-column:auto}.mobile-header{height:58px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 1rem}.mobile-header button{background:none;border:0;color:#fff;font-size:1.3rem}.mobile-header a{color:#fff;text-decoration:none;font-size:.75rem}.workspace-inner{padding:1.2rem 1rem}.view-head{align-items:flex-start}.dashboard-grid{grid-template-columns:1fr}.day-admin-grid,.photo-grid{grid-template-columns:repeat(2,1fr)}.upload-fields{grid-template-columns:1fr}.accounts-grid{grid-template-columns:1fr}.route-row,.hotel-row{grid-template-columns:50px 1fr}.row-actions{grid-column:1/-1;justify-content:flex-end}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}@media(max-width:460px){.stats-grid{grid-template-columns:1fr 1fr}.day-admin-grid,.photo-grid{grid-template-columns:1fr}.day-admin-grid .admin-day{min-height:120px}.quiet-link{display:none}}#authView[hidden],#appView[hidden],.side-backdrop[hidden]{display:none!important}.side-backdrop{display:none}@media(max-width:900px),(hover:none) and (pointer:coarse){body.sidebar-open{overflow:hidden}.auth-shell{display:block;overflow-y:auto;min-height:100dvh}.auth-art{height:176px;min-height:0;padding:calc(1rem + env(safe-area-inset-top)) 1.25rem 1rem}.auth-art>div{margin-top:auto}.auth-art h1{font-size:2.25rem;margin:.15rem 0 .3rem}.auth-art p:not(.eyebrow){display:none}.auth-art small{font-size:.65rem}.auth-card{padding:1.25rem 1rem calc(2rem + env(safe-area-inset-bottom));place-items:start center}.auth-card h2{font-size:2rem;margin-bottom:.6rem}.auth-card>div{width:100%;max-width:460px}.auth-card input,.auth-card select,.auth-card button{min-height:48px;font-size:16px}.auth-card .primary{width:100%}.app-shell{display:block;width:100%;min-width:0}.workspace{width:100%;min-width:0}.mobile-header{position:sticky;top:0;z-index:30;min-height:calc(68px + env(safe-area-inset-top));height:auto;background:var(--ink)!important;color:#fff!important;padding:env(safe-area-inset-top) max(1rem,env(safe-area-inset-right)) 0 max(1rem,env(safe-area-inset-left));box-shadow:0 6px 24px rgba(10,30,37,.22);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem}.mobile-header #sideMenu{min-width:88px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:.42rem;background:var(--sun);color:var(--ink);border:0;border-radius:99px;padding:.55rem .75rem;font-size:.82rem}.mobile-header #sideMenu>span{font-size:1.15rem;line-height:1}.mobile-header #sideMenu strong{font-weight:800}.mobile-header>b{display:flex;flex-direction:column;align-items:center;color:#fff;line-height:1.08;text-align:center}.mobile-header>b small{color:var(--sun);font-size:.52rem;letter-spacing:.14em;margin-bottom:.22rem}.mobile-header>b span{font-size:.95rem}.mobile-header>a{min-width:64px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:.3rem;color:#fff!important;text-decoration:none;border:1px solid rgba(255,255,255,.4);border-radius:99px;padding:.5rem .65rem;font-size:.75rem;font-weight:700}.sidebar{width:min(84vw,310px);padding:calc(1.4rem + env(safe-area-inset-top)) 1.25rem calc(1.4rem + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;overflow-y:auto}.sidebar nav button{min-height:48px;font-size:.95rem;padding:.75rem .9rem}.sidebar-user button{min-width:44px;min-height:44px}.side-backdrop{display:block;position:fixed;inset:0;z-index:35;border:0;background:rgba(5,22,27,.58);backdrop-filter:blur(2px)}.workspace-inner{width:100%;max-width:none;padding:1.35rem 1rem calc(2rem + env(safe-area-inset-bottom))}.view-head{flex-direction:column;align-items:stretch;margin-bottom:1.3rem}.view-head h1{font-size:2.45rem}.view-head .primary{align-self:flex-start}.stats-grid{gap:.7rem}.stat{padding:1rem}.stat strong{font-size:1.9rem}.dashboard-grid{gap:.8rem}.panel{padding:1rem}.admin-day{min-height:116px}.route-row,.hotel-row{padding:.9rem;gap:.75rem}.upload-panel{padding:.8rem}.drop-zone{padding:1.6rem .8rem}.upload-fields input,.upload-fields select,.upload-fields button,.form-panel input,.form-panel select,.form-panel button{min-height:46px;font-size:16px}dialog{width:100%;max-width:none;max-height:92dvh;margin:0;inset:auto 0 0;border-radius:20px 20px 0 0;padding:1.3rem 1rem calc(1.2rem + env(safe-area-inset-bottom))}dialog input,dialog select,dialog textarea,dialog button{font-size:16px}dialog input,dialog select{min-height:46px}.dialog-actions{position:sticky;bottom:0;background:var(--paper);padding:.8rem 0 0}.dialog-actions button{min-height:46px}.toast{left:1rem;right:1rem;top:auto;bottom:calc(1rem + env(safe-area-inset-bottom));text-align:center}}
