.s-shell{background:#eef0f4;min-height:100vh}.s-layout{align-items:flex-start;max-width:1320px;margin:0 auto;display:flex}.s-side{display:none}.s-side-brand{color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:14px;padding:4px 10px 18px;text-decoration:none;display:flex}.s-side-logo{object-fit:cover;border-radius:11px;flex:none;width:38px;height:38px}.s-side-name{font-family:var(--font-oswald);font-size:20px;font-weight:700}.s-side-sub{color:var(--ink-3);letter-spacing:.03em;font-size:10px}.s-nav{flex-direction:column;gap:4px;display:flex}.s-nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);padding:16px 12px 6px;font-size:11px}.s-nav-link{color:var(--ink-2);border-radius:12px;align-items:center;gap:12px;padding:11px 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.s-nav-link:hover{color:var(--ink);background:#fff}.s-nav-link.is-active{background:var(--blue-050);color:var(--blue-700);font-weight:600}.s-nav-link.is-soon{opacity:.5;pointer-events:none}.s-nav-ic{text-align:center;width:22px;font-size:17px}.s-main{flex-direction:column;flex:1;min-width:0;min-height:100dvh;padding:16px 20px 80px;display:flex}.s-topbar{align-items:center;gap:12px;margin-bottom:18px;display:flex}.s-search{border:1px solid var(--line);color:var(--ink-3);background:#fff;border-radius:12px;flex:1;align-items:center;gap:8px;min-width:0;padding:10px 14px;font-size:14px;display:flex}.s-search input{width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-size:14px}.s-city{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:12px;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:500;display:inline-flex}.s-add{background:var(--blue);color:#fff;white-space:nowrap;border-radius:12px;align-items:center;gap:6px;padding:11px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.s-add:hover{background:var(--blue-700)}.s-add-short{display:none}.s-tabbar{z-index:40;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fff;display:flex;position:sticky;bottom:0;box-shadow:0 -6px 20px -12px #10111640}.s-tab{color:var(--ink-3);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 2px;font-size:10.5px;text-decoration:none;display:flex}.s-tab.is-active{color:var(--blue)}.s-tab-ic{font-size:19px}@media (min-width:980px){.s-side{flex-direction:column;flex:none;align-self:flex-start;width:248px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.s-main{padding:20px 28px 40px}.s-tabbar{display:none}.s-add-full{display:inline-flex}}@media (max-width:979px){.s-city{padding:9px 11px}.s-devrole{width:38px;height:38px}}.s-citymenu{position:relative}.s-citymenu>summary{cursor:pointer;list-style:none}.s-citymenu>summary::-webkit-details-marker{display:none}.s-city-list{z-index:50;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:2px;min-width:210px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px -10px #10111640}.s-city-opt{color:var(--ink);border-radius:8px;padding:9px 12px;font-size:14px;text-decoration:none}.s-city-opt:hover{background:var(--blue-050)}.s-city-opt.is-active{color:var(--blue-700);background:var(--blue-050);font-weight:600}.s-city-opt--soon{color:var(--ink-3);cursor:not-allowed}.s-city-opt--soon:hover{background:0 0}.s-nav-ic,.s-tab-ic,.s-side-logo{justify-content:center;align-items:center;display:inline-flex}.s-city-opt{align-items:center;gap:6px;display:inline-flex}.s-citymenu>summary.s-city{gap:5px}.s-devrole{border:1px solid var(--line);width:42px;height:42px;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.s-devrole.is-on{color:#8a5b00;background:#fff8e6;border-color:#f0b429}.s-devrole select{opacity:0;cursor:pointer;appearance:none;background:0 0;border:none;outline:none;width:100%;height:100%;position:absolute;inset:0}.s-userav{object-fit:cover;border-radius:50%;flex:none;width:22px;height:22px}
