/* ====== Public Zone Enhance — Tab Navigation + Panels ====== */
/* Tab Bar (reuse pattern from kid/elder/personal) */
.pub-tab-bar{display:flex;gap:0;border-bottom:2px solid #e2e8f0;margin:16px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.pub-tab-btn{flex:1;min-width:90px;padding:10px 14px;border:none;background:transparent !important;color:#475569 !important;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;transition:all .2s;border-radius:8px 8px 0 0}
.pub-tab-btn:hover{color:#6366f1 !important;background:#f8fafc !important}
.pub-tab-btn.pub-tab-active{color:#fff !important;background:#6366f1 !important;border-bottom-color:#4f46e5}
.pub-tab-content{min-height:200px;position:relative}
.pub-tab-pane{display:none;animation:pubFadeIn .25s ease}
.pub-tab-pane.pub-tab-pane-active{display:block}
@keyframes pubFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Overview */
.pub-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 4px}
.pub-overview-item{background:#f1f5f9 !important;border-radius:10px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s;border:1px solid transparent}
.pub-overview-item:hover{border-color:#c7d2fe;background:#e0e7ff !important;transform:translateY(-1px)}
.pub-overview-item .poi-icon{font-size:20px;margin-bottom:4px}
.pub-overview-item .poi-label{font-size:11px;color:#64748b !important;font-weight:600}
.pub-overview-item .poi-value{font-size:16px;font-weight:700;color:#334155 !important;margin-top:2px}

/* Panel */
.pub-panel{background:var(--h-card,#fff);border-radius:12px;padding:16px;margin-bottom:12px;border:1px solid var(--h-border,#e5e7eb)}
.pub-panel-title{font-size:14px;font-weight:700;color:#334155;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.pub-panel-body{font-size:13px;color:#475569;line-height:1.6}

/* Schedule */
.pub-sched-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:13px}
.pub-sched-item:last-child{border-bottom:none}
.pub-sched-item .psi-time{flex-shrink:0;width:80px;color:#64748b;font-weight:600}
.pub-sched-item .psi-title{color:#334155;font-weight:500;flex:1}
.pub-sched-item .psi-type{font-size:11px;padding:1px 6px;border-radius:4px;background:#e0e7ff;color:#4338ca}
.pub-sched-empty{text-align:center;padding:20px;color:#94a3b8;font-size:13px}

/* Album */
.pub-album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.pub-album-card{background:#f8fafc;border-radius:10px;padding:14px;text-align:center;cursor:pointer;transition:all .2s;border:1px solid #e2e8f0}
.pub-album-card:hover{border-color:#6366f1;transform:translateY(-2px);box-shadow:0 4px 12px rgba(99,102,241,0.1)}
.pub-album-card .pac-emoji{font-size:32px;margin-bottom:6px}
.pub-album-card .pac-name{font-size:13px;font-weight:700;color:#334155}
.pub-album-card .pac-count{font-size:11px;color:#94a3b8;margin-top:2px}
.pub-album-card .pac-del{background:transparent;border:none;color:#ef4444;cursor:pointer;font-size:14px;margin-top:4px;display:none}
.pub-album-card:hover .pac-del{display:inline}

/* Photo grid */
.pub-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:12px}
.pub-photo-item{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1;background:#f1f5f9}
.pub-photo-item img{width:100%;height:100%;object-fit:cover}
.pub-photo-item .ppi-caption{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,0.6);color:#fff;font-size:11px;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pub-photo-item .ppi-del{position:absolute;top:4px;right:4px;background:rgba(239,68,68,0.9);color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:12px;display:none}
.pub-photo-item:hover .ppi-del{display:flex;align-items:center;justify-content:center}

/* Finance summary (reuse personal pattern) */
.pub-finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.pub-finance-card{border-radius:10px;padding:12px;text-align:center}
.pub-finance-card.income{background:#f0fdf4;border:1px solid #bbf7d0}
.pub-finance-card.expense{background:#fef2f2;border:1px solid #fecaca}
.pub-finance-card.balance{background:#eff6ff;border:1px solid #bfdbfe}
.pub-finance-card .pfc-label{font-size:11px;font-weight:600;color:#64748b}
.pub-finance-card .pfc-value{font-size:18px;font-weight:700;margin-top:4px}
.pub-finance-card.income .pfc-value{color:#16a34a}
.pub-finance-card.expense .pfc-value{color:#ef4444}
.pub-finance-card.balance .pfc-value{color:#2563eb}

/* Friend activity (reuse existing fh-friend styles, just add inline display) */
.pub-friend-list{display:flex;flex-direction:column;gap:8px}
.pub-friend-item{display:flex;align-items:center;gap:10px;background:#f8fafc;border-radius:8px;padding:10px 12px;border:1px solid #e2e8f0;font-size:13px}
.pub-friend-item .pfi-emoji{font-size:22px;flex-shrink:0}
.pub-friend-item .pfi-body{flex:1;min-width:0}
.pub-friend-item .pfi-title{font-weight:600;color:#334155;margin-bottom:2px}
.pub-friend-item .pfi-meta{font-size:11px;color:#64748b;display:flex;gap:6px;flex-wrap:wrap}
.pub-friend-item .pfi-actions{flex-shrink:0;display:flex;gap:4px}
.pub-friend-item .pfi-btn{background:transparent;border:1px solid #cbd5e1;border-radius:6px;padding:3px 8px;font-size:12px;cursor:pointer;color:#64748b}

/* Form */
.pub-form-group{margin-bottom:10px}
.pub-form-label{font-size:12px;font-weight:600;color:#64748b;margin-bottom:4px;display:block}
.pub-form-input,.pub-form-select,.pub-form-textarea{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;background:#fff;color:#334155;box-sizing:border-box}
.pub-form-input:focus,.pub-form-select:focus,.pub-form-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,0.1)}
.pub-form-row{display:flex;gap:8px}
.pub-form-row>*{flex:1}

/* Buttons */
.pub-btn{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}
.pub-btn-primary{background:#6366f1;color:#fff}
.pub-btn-primary:hover{background:#4f46e5;color:#fff}[data-theme="dark"] .pub-btn-primary:hover,[data-theme="night"] .pub-btn-primary:hover{background:#4f46e5;color:#fff}
.pub-btn-secondary{background:#f1f5f9;color:#475569}
.pub-btn-secondary:hover{background:var(--h-bg-soft,#e2e8f0);color:var(--h-text,#475569)}[data-theme="dark"] .pub-btn-secondary:hover,[data-theme="night"] .pub-btn-secondary:hover{background:#334155;color:#e2e8f0}
.pub-btn-sm{padding:4px 10px;font-size:12px}

/* Skeleton */
.pub-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:pubShimmer 1.5s infinite;border-radius:8px;height:60px;margin-bottom:10px}
@keyframes pubShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Error boundary */
.pub-error-boundary{padding:16px;text-align:center;color:#ef4444;font-size:13px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}

/* Dark mode */
[data-theme="dark"] .pub-tab-bar,[data-theme="night"] .pub-tab-bar{border-bottom-color:#334155}
[data-theme="dark"] .pub-tab-btn,[data-theme="night"] .pub-tab-btn{color:#cbd5e1 !important}
[data-theme="dark"] .pub-tab-btn:hover,[data-theme="night"] .pub-tab-btn:hover{background:#1e293b !important;color:#818cf8 !important}
[data-theme="dark"] .pub-tab-btn.pub-tab-active,[data-theme="night"] .pub-tab-btn.pub-tab-active{color:#fff !important;background:#4f46e5 !important;border-bottom-color:#6366f1}
[data-theme="dark"] .pub-overview-item,[data-theme="night"] .pub-overview-item{background:#1e293b !important;border-color:transparent}
[data-theme="dark"] .pub-overview-item:hover,[data-theme="night"] .pub-overview-item:hover{background:#312e81 !important;border-color:#6366f1}
[data-theme="dark"] .pub-overview-item .poi-label,[data-theme="night"] .pub-overview-item .poi-label{color:#94a3b8 !important}
[data-theme="dark"] .pub-overview-item .poi-value,[data-theme="night"] .pub-overview-item .poi-value{color:#e2e8f0 !important}
[data-theme="dark"] .pub-panel,[data-theme="night"] .pub-panel{background:#1e293b !important;border-color:#334155}
[data-theme="dark"] .pub-panel-title,[data-theme="night"] .pub-panel-title{color:#e2e8f0}
[data-theme="dark"] .pub-album-card,[data-theme="night"] .pub-album-card{background:#0f172a;border-color:#334155}
[data-theme="dark"] .pub-album-card .pac-name,[data-theme="night"] .pub-album-card .pac-name{color:#e2e8f0}
[data-theme="dark"] .pub-friend-item,[data-theme="night"] .pub-friend-item{background:#0f172a;border-color:#334155}
[data-theme="dark"] .pub-friend-item .pfi-title,[data-theme="night"] .pub-friend-item .pfi-title{color:#e2e8f0}
[data-theme="dark"] .pub-form-input,[data-theme="dark"] .pub-form-select,[data-theme="dark"] .pub-form-textarea,[data-theme="night"] .pub-form-input,[data-theme="night"] .pub-form-select,[data-theme="night"] .pub-form-textarea{background:#0f172a;color:#e2e8f0;border-color:#475569}
[data-theme="dark"] .pub-finance-card.income,[data-theme="night"] .pub-finance-card.income{background:#052e16;border-color:#15803d}
[data-theme="dark"] .pub-finance-card.expense,[data-theme="night"] .pub-finance-card.expense{background:#450a0a;border-color:#991b1b}
[data-theme="dark"] .pub-finance-card.balance,[data-theme="night"] .pub-finance-card.balance{background:#0c1e3a;border-color:#1d4ed8}
[data-theme="dark"] .pub-skeleton,[data-theme="night"] .pub-skeleton{background:linear-gradient(90deg,#1e293b 25%,#334155 50%,#1e293b 75%);background-size:200% 100%}
[data-theme="dark"] .pub-sched-item,[data-theme="night"] .pub-sched-item{border-bottom-color:#334155}
[data-theme="dark"] .pub-sched-item .psi-title,[data-theme="night"] .pub-sched-item .psi-title{color:#e2e8f0}
[data-theme="dark"] .pub-photo-item,[data-theme="night"] .pub-photo-item{background:#1e293b}

/* Mobile */
@media(max-width:480px){
  .pub-overview-grid{grid-template-columns:repeat(2,1fr)}
  .pub-finance-summary{grid-template-columns:1fr}
  .pub-album-grid{grid-template-columns:repeat(2,1fr)}
  .pub-photo-grid{grid-template-columns:repeat(3,1fr)}
  .pub-tab-btn{font-size:13px;padding:8px 10px;min-width:70px}
}
