:root{--brand-mark: #132b3a;--primary: #132b3a;--primary-light: #e8ebed;--primary-foreground: #ffffff;--background: #f7f8f6;--surface: #ffffff;--surface-hero: #eef1ef;--foreground: #1f2a33;--muted-foreground: #66737d;--border: #dde3e5;--button-secondary-surface: #f1f5f7;--button-secondary-border: #c9d4da;--success: #3f7d61;--success-soft: #f0fdf4;--warning: #b7791f;--danger: #b84a4a;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--touch: 44px;--control-height: 48px;--shell-nav: 15rem;--bottom-nav-h: calc(56px + env(safe-area-inset-bottom, 0px)) ;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--vv-offset-bottom: 0px;--shadow-soft: 0 1px 2px rgba(26, 43, 54, .05);--focus-ring: 0 0 0 3px rgba(19, 43, 58, .22);--bp-tablet: 720px;--bp-desktop: 1100px}*{box-sizing:border-box}html,body,#root{min-height:100%;min-height:100dvh}body{margin:0;font-family:var(--font-sans);background:var(--background);color:var(--foreground);font-size:16px;line-height:1.375;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3{font-weight:700;letter-spacing:-.02em;margin:0;color:var(--foreground)}h1{font-size:1.625rem;line-height:1.2}h2{font-size:1.25rem;line-height:1.25}h3{font-size:1.0625rem;font-weight:600}button,input,select,textarea{font:inherit;font-size:16px}button{cursor:pointer}a{color:var(--primary)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.safe-pad{padding-top:max(1rem,var(--safe-top));padding-right:max(1rem,var(--safe-right));padding-bottom:max(1rem,var(--safe-bottom));padding-left:max(1rem,var(--safe-left))}.app-shell{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:1fr;min-height:100dvh;background:var(--background);padding-left:var(--safe-left);padding-right:var(--safe-right)}.app-shell>.nav-side{display:none}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:max(.65rem,var(--safe-top)) 1rem .65rem;border-bottom:1px solid var(--border);background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.topbar-title{font-size:1.05rem}.topbar-sub{font-size:.8125rem;margin-top:.1rem;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.content{padding:1rem;flex:1;min-height:0;overflow:auto;padding-bottom:calc(1rem + var(--bottom-nav-h));-webkit-overflow-scrolling:touch}.nav-bottom{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.35rem .75rem max(.35rem,var(--safe-bottom));background:var(--surface);border-top:1px solid var(--border)}.nav-bottom-3{grid-template-columns:1fr 1fr 1fr}.write-control-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start;justify-content:space-between}.write-control{margin-bottom:.85rem}textarea{font:inherit;font-size:16px;min-height:var(--touch);padding:.65rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);width:100%;resize:vertical}.nav-bottom .nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:var(--touch);padding:.35rem .5rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;color:var(--muted-foreground);appearance:none;border:0;background:transparent}.nav-bottom .nav-link[data-active=true]{color:var(--primary);background:var(--primary-light)}.nav-bottom .nav-ico{width:22px;height:22px;display:block}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.15rem;box-shadow:var(--shadow-soft)}.panel-title{margin-bottom:.75rem}.stack-sm{display:grid;gap:.5rem}.stack-md{display:grid;gap:.85rem}.btn{appearance:none;border:1px solid var(--primary);background:var(--primary);color:var(--primary-foreground);min-height:var(--control-height);min-width:var(--touch);padding:.7rem 1.1rem;border-radius:14px;font-weight:600;transition:background .12s ease}.btn:hover:not(:disabled){background:#0f2431}.btn:disabled{background:var(--border);border-color:var(--border);color:var(--muted-foreground);cursor:not-allowed}.btn-secondary{background:var(--button-secondary-surface);border-color:var(--button-secondary-border);color:var(--primary)}.btn-ghost{border-color:transparent;background:transparent;color:var(--muted-foreground);min-height:var(--touch)}.btn-sm{min-height:var(--touch);padding:.4rem .75rem;font-size:.9375rem;border-radius:var(--radius-md)}.btn-row{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-size:.9rem;font-weight:500;color:var(--muted-foreground)}.field-inline{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem}.field input,.field select,.toolbar input[type=search],.field-inline select,.otp-input{border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem .85rem;background:var(--surface);color:var(--foreground);min-height:var(--control-height);width:100%;max-width:100%}.field input:focus,.field select:focus,.toolbar input[type=search]:focus,.otp-input:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.field-hint{font-size:.85rem}.muted{color:var(--muted-foreground)}.status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:var(--radius-pill);background:var(--primary-light);color:var(--muted-foreground);font-size:.8125rem;font-weight:500;white-space:nowrap}.status-pill[data-tone=ok]{background:var(--success-soft);color:var(--success)}.status-pill[data-tone=warn]{background:#f8f0e0;color:var(--warning)}.status-pill[data-tone=err]{background:#f9ebeb;color:var(--danger)}.feedback{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);margin:.75rem 0}.feedback[data-tone=error]{background:#f9ebeb;border-color:#e8c4c4;color:var(--danger)}.feedback[data-tone=info]{background:#f8f0e0;border-color:#e8d6a8;color:#7a5600}.feedback[data-tone=success]{background:var(--success-soft);border-color:#c6e2d3;color:var(--success)}.feedback-message{margin:0;font-weight:500}.feedback-diag{margin-top:.45rem;font-size:.8rem;color:var(--muted-foreground)}.feedback-diag code{display:block;margin-top:.25rem;word-break:break-word;white-space:pre-wrap}.feedback-dismiss{margin-left:auto;min-height:var(--touch);min-width:var(--touch);padding:.2rem;font-size:1.35rem;line-height:1}.otp-card{max-width:28rem;width:100%;scroll-margin-bottom:max(40vh,calc(var(--vv-offset-bottom) + 2rem));padding-bottom:max(0px,calc(var(--vv-offset-bottom) * .15))}.otp-email-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.75rem 0}.otp-email{font-size:.95rem;background:var(--surface-hero);padding:.4rem .65rem;border-radius:var(--radius-sm)}.otp-input{letter-spacing:.2em;font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:center;width:100%;max-width:100%}.otp-expiry{margin:.35rem 0 .75rem;font-size:.9rem}.toolbar{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;margin-bottom:.85rem}.toolbar input[type=search]{flex:1 1 100%;min-width:0}.toolbar-meta{font-size:.8125rem}.pkg-cards{display:grid;gap:.65rem}.pkg-card{appearance:none;width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:.9rem 1rem;min-height:var(--touch);display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:.65rem;align-items:center;color:inherit;box-shadow:var(--shadow-soft)}.pkg-card>div{min-width:0}.pkg-card[data-selected=true]{border-color:var(--primary);background:var(--primary-light)}.pkg-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:.85rem}.pkg-card-title{font-weight:700;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pkg-card-meta{margin-top:.25rem;font-size:.8125rem;color:var(--muted-foreground)}.pkg-badge{display:inline-flex;padding:.2rem .5rem;border-radius:var(--radius-pill);background:var(--surface-hero);font-size:.75rem;font-weight:600;color:var(--primary);white-space:nowrap}.detail-desktop{display:none}.detail-sheet{position:fixed;inset:0;z-index:40;background:var(--background);display:flex;flex-direction:column;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.detail-sheet-header{display:flex;align-items:center;gap:.5rem;padding:.65rem .75rem;border-bottom:1px solid var(--border);background:var(--surface)}.detail-sheet-body{flex:1;overflow:auto;padding:1rem;-webkit-overflow-scrolling:touch}.lager-list{min-width:0}.lager-layout{display:grid;gap:1rem}.table-wrap{display:none;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:28rem}.table th,.table td{text-align:left;padding:.85rem .55rem;border-bottom:1px solid var(--border);vertical-align:top}.table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);font-weight:600}.table tr[data-selected=true]{background:var(--primary-light)}.table button.row{appearance:none;border:0;background:transparent;padding:0;color:inherit;text-align:left;width:100%;cursor:pointer;min-height:var(--touch)}.detail-list{display:grid;gap:.75rem;margin:0}.detail-list dd{margin:.15rem 0 0;font-weight:500}.sibling-list{margin-top:1.1rem}.sibling-list ul{margin:.35rem 0 0;padding-left:1.1rem}.auth-page{min-height:100dvh;display:grid;place-items:center;align-content:safe center;padding:max(1rem,var(--safe-top)) max(.75rem,var(--safe-right)) max(1rem,calc(var(--safe-bottom) + var(--vv-offset-bottom))) max(.75rem,var(--safe-left));background:radial-gradient(ellipse at top,var(--surface-hero) 0%,transparent 55%),var(--background);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.auth-card{width:min(26.5rem,100%);max-width:100%}.auth-card img{height:36px;max-width:100%;width:auto;margin-bottom:1rem}.auth-card h1{margin-bottom:.35rem}.auth-card>.muted{margin-bottom:1rem}.welcome-brand-line{margin:0 0 .35rem;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.welcome-lead{margin:0 0 1.1rem}.welcome-lang{margin-bottom:1rem}.welcome-body{margin-top:.25rem}.welcome-footer{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.875rem}.welcome-embedded{display:grid;place-items:start center;padding:.25rem 0 1.5rem}.welcome-embedded .welcome-card{width:min(32rem,100%)}.welcome-steps{list-style:none;margin:0 0 1.15rem;padding:0;display:grid;gap:.5rem}.welcome-step{display:grid;grid-template-columns:1.75rem 1fr;gap:.65rem;align-items:center;padding:.55rem .7rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-hero)}.welcome-step[data-state=current]{border-color:var(--brand-mark);background:var(--primary-light)}.welcome-step[data-state=done]{border-color:#c5dccf;background:var(--success-soft)}.welcome-step[data-state=upcoming]{opacity:.72}.welcome-step-index{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);font-size:.8125rem;font-weight:700;color:var(--brand-mark)}.welcome-step[data-state=done] .welcome-step-index{background:var(--success);border-color:var(--success);color:#fff}.welcome-step[data-state=current] .welcome-step-index{background:var(--brand-mark);border-color:var(--brand-mark);color:#fff}.welcome-step-label{font-weight:600;font-size:.9375rem}.welcome-disclose{margin:0;padding:.75rem .9rem .75rem 1.35rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-hero);color:var(--foreground);font-size:.9375rem;line-height:1.45}.welcome-disclose li+li{margin-top:.35rem}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.65rem;color:var(--muted-foreground);font-size:.8125rem;text-transform:lowercase}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--border)}.btn-google{background:var(--surface);color:var(--foreground);border:1px solid var(--button-secondary-border);box-shadow:var(--shadow-soft)}.btn-google:hover:not(:disabled){background:var(--button-secondary-surface)}.btn-row.wrap{flex-wrap:wrap}@media(min-width:720px){.auth-card.welcome-card{width:min(30rem,100%)}}@media(min-width:720px){.app-shell{grid-template-columns:var(--shell-nav) 1fr;grid-template-rows:1fr;padding-bottom:0}.app-shell>.nav-side{display:flex;flex-direction:column;gap:1.25rem;background:var(--surface);border-right:1px solid var(--border);padding:max(1.25rem,var(--safe-top)) 1rem max(1.25rem,var(--safe-bottom));grid-row:1 / -1}.nav-side .nav-brand img{height:30px;width:auto;display:block}.nav-side .nav-links{display:flex;flex-direction:column;gap:.35rem}.nav-side .nav-link{appearance:none;border:0;background:transparent;text-align:left;min-height:var(--touch);padding:.65rem .85rem;border-radius:var(--radius-md);color:var(--foreground);font-weight:500;display:flex;flex-direction:row;align-items:center;gap:.55rem}.nav-side .nav-ico{width:20px;height:20px;flex-shrink:0}.nav-side .nav-link[data-active=true]{background:var(--primary-light);color:var(--primary);font-weight:600}.nav-side .nav-signout{margin-top:auto;align-self:flex-start}.nav-bottom{display:none}.content{padding:1.25rem 1.5rem 1.5rem}.topbar{padding:.85rem 1.5rem}.toolbar input[type=search]{flex:1 1 14rem}.lager-layout{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:start}.detail-desktop{display:block}.detail-sheet{display:none!important}}@media(min-width:1100px){.pkg-cards{display:none}.table-wrap{display:block}}@media(max-width:719.98px){.topbar .field-inline span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}@media(max-width:359.98px){.content{padding-left:.75rem;padding-right:.75rem}.pkg-card{grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto}.pkg-badge{grid-column:2;justify-self:start}.otp-input{letter-spacing:.12em}}
