:root{--bg: #0e1218;--surface: #161b22;--card: #1c222b;--on-bright: #e8e4dc;--on-muted: #a8a094;--silver: #8b93a0;--gold: #c4a47c;--gold-dim: #9a7f5c;--on-gold: #1a1510;--outline: #6e6558;--teal: #4a8b7c;--error: #c97b7b;--error-bg: #3a2428;--nav-h: 64px;--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--on-bright);background:var(--bg);line-height:1.45}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}#app{min-height:100dvh;display:flex;flex-direction:column}a{color:var(--teal)}button{font:inherit;cursor:pointer}.app-shell{flex:1;display:flex;flex-direction:column;min-height:100dvh;padding-bottom:calc(var(--nav-h) + var(--safe-bottom))}.top-bar{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid color-mix(in srgb,var(--outline) 40%,transparent);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.top-bar h1{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:.02em}.top-bar .sub{font-size:.75rem;color:var(--on-muted)}.content{flex:1;padding:16px;max-width:720px;width:100%;margin:0 auto}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--surface);border-top:1px solid color-mix(in srgb,var(--outline) 45%,transparent);display:grid;grid-template-columns:repeat(3,1fr);z-index:20}.bottom-nav button{border:0;background:transparent;color:var(--silver);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.72rem;padding:8px 4px}.bottom-nav button.active{color:var(--gold)}.bottom-nav .ico{font-size:1.25rem;line-height:1}.hairline{height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);margin:12px 0 20px}.hub-header h2{margin:0 0 4px;font-size:1.45rem;font-weight:650}.hub-header p{margin:0;color:var(--on-muted);font-size:.9rem}.dest-card{display:block;width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--outline) 55%,transparent);border-radius:14px;padding:16px 18px;margin-bottom:12px;color:var(--on-bright);background:linear-gradient(160deg,var(--wash-top, #3a2e22),var(--wash-bottom, #141820));transition:border-color .15s ease,transform .1s ease}.dest-card:hover{border-color:var(--gold-dim)}.dest-card:active{transform:scale(.99)}.dest-card .title{font-size:1.1rem;font-weight:600}.dest-card .caption{margin-top:4px;color:var(--on-muted);font-size:.85rem}.chip-row{display:flex;gap:12px;margin-top:8px}.chip{flex:1;border:1px solid var(--outline);background:transparent;color:var(--on-bright);border-radius:999px;padding:10px 12px;font-size:.85rem}.chip:hover{border-color:var(--gold);color:var(--gold)}.btn{border:0;border-radius:10px;padding:10px 14px;background:var(--gold);color:var(--on-gold);font-weight:600}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--gold);border:1px solid var(--outline)}.btn.small{padding:6px 10px;font-size:.85rem}.soft-msg{background:color-mix(in srgb,var(--gold-dim) 18%,var(--card));border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);color:var(--on-bright);border-radius:12px;padding:12px 14px;font-size:.9rem;margin:12px 0}.error-msg{background:var(--error-bg);border:1px solid color-mix(in srgb,var(--error) 50%,transparent);color:#e8c4c4;border-radius:12px;padding:12px 14px;font-size:.9rem;margin:12px 0}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.toolbar select,.toolbar input[type=search]{background:var(--card);border:1px solid var(--outline);color:var(--on-bright);border-radius:10px;padding:8px 10px;font:inherit}.toolbar input[type=search]{flex:1;min-width:140px}.meta{color:var(--on-muted);font-size:.8rem;margin-bottom:10px}.item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.item-card{background:var(--card);border:1px solid color-mix(in srgb,var(--outline) 40%,transparent);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;gap:12px}.item-card .name{font-weight:560}.item-card .owner{color:var(--on-muted);font-size:.8rem;margin-top:2px}.item-card .qty{color:var(--gold);font-weight:650;align-self:center}.hero-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:8px}.hero-pill{flex:0 0 auto;background:var(--card);border:1px solid var(--outline);border-radius:12px;padding:8px 12px;font-size:.8rem;color:var(--on-muted)}.hero-pill strong{display:block;color:var(--on-bright);font-size:.9rem}.stub-card{background:var(--card);border:1px dashed var(--outline);border-radius:14px;padding:20px;color:var(--on-muted)}.stub-card h3{margin:0 0 8px;color:var(--on-bright)}.fab{position:fixed;right:18px;bottom:calc(var(--nav-h) + var(--safe-bottom) + 16px);width:52px;height:52px;border-radius:50%;border:0;background:var(--gold);color:var(--on-gold);font-size:1.6rem;font-weight:700;box-shadow:0 6px 20px #00000059;z-index:15}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:40;padding:16px}.dialog{width:min(420px,100%);background:var(--surface);border:1px solid var(--outline);border-radius:16px 16px 12px 12px;padding:18px}.dialog h3{margin:0 0 12px}.dialog label{display:block;font-size:.8rem;color:var(--on-muted);margin:8px 0 4px}.dialog input,.dialog select{width:100%;background:var(--card);border:1px solid var(--outline);color:var(--on-bright);border-radius:10px;padding:10px;font:inherit}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.muted{color:var(--on-muted)}
