/* ============================================
   Meu Ateliê Digital — Design System v2
   Candy Pastel · Line Icons · Sans-serif
   ============================================ */

/* Font loaded via <link> in HTML head for better performance */

:root {
  --pink-50:#FDF2F8;--pink-100:#FCE7F3;--pink-200:#FBCFE8;--pink-300:#F9A8D4;--pink-400:#F472B6;--pink-500:#EC4899;
  --sky-50:#F0F9FF;--sky-100:#E0F2FE;--sky-200:#BAE6FD;--sky-300:#7DD3FC;--sky-400:#38BDF8;
  --amber-50:#FFFBEB;--amber-100:#FEF3C7;--amber-200:#FDE68A;--amber-300:#FCD34D;
  --lavender-50:#FAF5FF;--lavender-100:#F3E8FF;--lavender-200:#E9D5FF;--lavender-300:#D8B4FE;
  --green-50:#F0FDF4;--green-100:#DCFCE7;--green-400:#4ADE80;--green-500:#22C55E;
  --gray-50:#F9FAFB;--gray-100:#F3F4F6;--gray-200:#E5E7EB;--gray-300:#D1D5DB;--gray-400:#9CA3AF;--gray-500:#6B7280;--gray-600:#4B5563;--gray-700:#374151;--gray-800:#1F2937;
  --bg-body:#FAFBFF;--bg-sidebar:#FFFFFF;--bg-card:#FFFFFF;--bg-input:#FFFFFF;
  --text-primary:#374151;--text-secondary:#6B7280;--text-heading:#1F2937;
  --accent:#EC4899;--success:#22C55E;--danger:#EF4444;
  --font-body:'Plus Jakarta Sans',sans-serif;
  --sidebar-width:250px;
  --radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-body);background:var(--bg-body);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}

/* Layout */
.app-layout{display:flex;min-height:100vh}
.main-wrapper{flex:1;min-width:0;display:flex;flex-direction:column;margin-left:var(--sidebar-width)}
.main-content{flex:1;padding:24px 28px;max-width:1200px;width:100%;margin:0 auto}

/* Sidebar */
.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--gray-100);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;overflow-y:auto;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.sidebar-logo{display:flex;align-items:center;padding:20px 18px 16px;border-bottom:1px solid var(--gray-100)}
.sidebar-logo-img{width:150px;height:auto;display:block}

.sidebar-nav{flex:1;padding:16px 12px 12px;display:flex;flex-direction:column;gap:2px}
.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);color:var(--gray-500);text-decoration:none;font-size:14px;font-weight:500;transition:all .15s ease;position:relative;border:none;background:none;cursor:pointer;width:100%;text-align:left;font-family:var(--font-body)}
.sidebar-link:hover{color:var(--gray-700);background:var(--gray-50)}
.sidebar-link.active{color:var(--pink-500);background:var(--pink-50);font-weight:600}
.sidebar-icon{width:20px;height:20px;flex-shrink:0}
.sidebar-link.active .sidebar-icon{color:var(--pink-500)}
.sidebar-badge{margin-left:auto;font-size:10px;font-weight:600;padding:2px 8px;border-radius:99px;background:var(--gray-100);color:var(--gray-400);white-space:nowrap}
.sidebar-divider{height:1px;background:var(--gray-100);margin:10px 14px}

.sidebar-footer{padding:14px 16px;border-top:1px solid var(--gray-100);display:flex;align-items:center;gap:10px}
.sidebar-user{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.sidebar-avatar{width:34px;height:34px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--pink-300),var(--sky-300));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}
.sidebar-user-info{min-width:0}
.sidebar-user-name{font-size:13px;font-weight:600;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user-email{font-size:11px;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-logout{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--gray-400);transition:all .15s;flex-shrink:0}
.sidebar-logout:hover{background:var(--pink-50);color:var(--pink-500)}

/* Topbar */
.topbar{height:60px;background:rgba(250,251,255,0.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-100);display:flex;align-items:center;padding:0 28px;gap:16px;position:sticky;top:0;z-index:30}
.topbar-menu-btn{display:none;width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);background:#fff;color:var(--gray-500);cursor:pointer;align-items:center;justify-content:center;transition:all .15s}
.topbar-menu-btn:hover{background:var(--gray-50);border-color:var(--gray-300)}
.topbar-title{font-size:18px;font-weight:700;color:var(--text-heading)}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:16px}
.topbar-greeting{font-size:13px;color:var(--gray-500);font-weight:500}
.topbar-greeting strong{color:var(--gray-700);font-weight:600}

/* Cards */
.card{background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:22px;transition:box-shadow .2s}
.card:hover{box-shadow:0 2px 12px rgba(0,0,0,0.04)}
.card-pink{background:var(--pink-50);border-color:var(--pink-100)}
.card-sky{background:var(--sky-50);border-color:var(--sky-100)}
.card-amber{background:var(--amber-50);border-color:var(--amber-100)}
.card-lavender{background:var(--lavender-50);border-color:var(--lavender-100)}

/* Forms */
.form-group{margin-bottom:18px}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--gray-600);margin-bottom:6px}
.form-input{width:100%;padding:11px 14px;background:var(--bg-input);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-body);font-size:14px;color:var(--text-primary);transition:border-color .2s,box-shadow .2s;outline:none}
.form-input::placeholder{color:var(--gray-400)}
.form-input:focus{border-color:var(--pink-400);box-shadow:0 0 0 3px rgba(244,114,182,0.1)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 24px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .15s ease;text-decoration:none;line-height:1}
.btn-primary{background:linear-gradient(135deg,var(--pink-400),var(--pink-500));color:#fff;box-shadow:0 2px 8px rgba(236,72,153,0.25)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(236,72,153,0.3)}
.btn-outline{background:transparent;color:var(--gray-600);border:1.5px solid var(--gray-200)}
.btn-outline:hover{background:var(--gray-50);border-color:var(--gray-300)}
.btn-block{width:100%}

/* Auth pages */
.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-body);position:relative;overflow:hidden}
.auth-wrapper::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,var(--pink-100) 0%,transparent 70%);top:-180px;right:-120px;opacity:.5;animation:blobFloat 20s ease-in-out infinite}
.auth-wrapper::after{content:'';position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,var(--sky-100) 0%,transparent 70%);bottom:-150px;left:-100px;opacity:.5;animation:blobFloat 24s ease-in-out infinite reverse}
@keyframes blobFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}

.auth-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:36px;box-shadow:0 4px 24px rgba(0,0,0,0.04);position:relative;z-index:1}
.auth-logo{text-align:center;margin-bottom:28px}
.auth-logo-img{width:200px;height:auto;display:block;margin:0 auto 12px}
.auth-logo-sub{font-size:13px;color:var(--gray-400);font-weight:500}

.auth-tabs{display:flex;gap:4px;background:var(--gray-50);border-radius:var(--radius-md);padding:4px;margin-bottom:24px}
.auth-tab{flex:1;padding:9px;text-align:center;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:none;font-family:var(--font-body);color:var(--gray-400);background:transparent}
.auth-tab.active{background:#fff;color:var(--pink-500);box-shadow:0 1px 3px rgba(0,0,0,0.06)}

.alert{padding:11px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;margin-bottom:16px;display:none}
.alert-error{background:#FEF2F2;color:#DC2626;border:1px solid #FECACA}
.alert-success{background:var(--green-50);color:var(--green-500);border:1px solid var(--green-100)}
.alert.show{display:block;animation:fadeSlideIn .3s ease}
.auth-footer{text-align:center;margin-top:18px;font-size:13px;color:var(--gray-500)}
.auth-footer a{color:var(--pink-500);font-weight:600;text-decoration:none}
.auth-footer a:hover{text-decoration:underline}

/* Onboarding Checklist */
.onboarding-card{border:1.5px solid var(--pink-100);background:linear-gradient(135deg,#fff 60%,var(--pink-50))}
.onboarding-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.onboarding-progress{display:flex;align-items:center;gap:10px;flex-shrink:0}
.onboarding-progress-bar{width:120px;height:8px;background:var(--gray-100);border-radius:999px;overflow:hidden}
.onboarding-progress-fill{height:100%;background:linear-gradient(90deg,var(--pink-400),var(--green-500));border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1)}
.onboarding-progress-text{font-size:12px;font-weight:700;color:var(--gray-500);white-space:nowrap}
.onboarding-steps{display:flex;flex-direction:column;gap:4px}
.onboarding-step{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);transition:background .15s;cursor:pointer;border:none;background:none}
.onboarding-step:hover{background:var(--gray-50)}
.onboarding-step.done{opacity:.55}
.onboarding-step.done .onboarding-step-title{text-decoration:line-through;color:var(--gray-400)}
.onboarding-step.done .onboarding-step-desc{color:var(--gray-300)}
.onboarding-check{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--gray-200);background:#fff;color:var(--gray-400);transition:all .2s}
.onboarding-step.done .onboarding-check{background:var(--green-500);border-color:var(--green-500);color:#fff}
.onboarding-num{font-size:12px;font-weight:800}
.onboarding-info{flex:1;min-width:0}
.onboarding-step-title{font-size:14px;font-weight:700;color:#1f2937;transition:color .2s}
.onboarding-step-desc{font-size:12px;color:var(--gray-400);margin-top:2px}
.onboarding-arrow{color:var(--gray-300);flex-shrink:0;transition:color .15s}
.onboarding-step:hover .onboarding-arrow{color:var(--pink-400)}
.onboarding-share-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;border:1.5px solid var(--pink-200);background:var(--pink-50);color:var(--pink-500);cursor:pointer;font-family:var(--font-body);transition:all .15s;flex-shrink:0}
.onboarding-share-btn:hover{background:var(--pink-500);color:#fff;border-color:var(--pink-500)}
@media(max-width:768px){.onboarding-progress-bar{width:80px}}

/* Dashboard */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:28px}
.stat-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.stat-icon svg{width:22px;height:22px}
.stat-value{font-size:28px;font-weight:800;color:var(--text-heading);line-height:1;margin-bottom:4px}
.stat-label{font-size:13px;font-weight:500;color:var(--gray-400)}

.welcome-banner{background:linear-gradient(135deg,var(--pink-50),var(--sky-50),var(--amber-50));border:1px solid var(--pink-100);border-radius:var(--radius-xl);padding:28px;margin-bottom:24px;position:relative;overflow:hidden}
.welcome-title{font-size:20px;font-weight:700;color:var(--text-heading);margin-bottom:6px}
.welcome-text{font-size:14px;color:var(--gray-500);max-width:500px;font-weight:400}

.section-title{font-size:16px;font-weight:700;color:var(--text-heading);margin-bottom:14px}

.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.quick-action{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);transition:all .15s}
.quick-action:hover{border-color:var(--pink-200);box-shadow:0 2px 10px rgba(0,0,0,0.04)}
.quick-action-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.quick-action-icon svg{width:20px;height:20px}
.quick-action-title{font-weight:600;font-size:13px;color:var(--gray-700)}
.quick-action-desc{font-size:12px;color:var(--gray-400);font-weight:400}

.roadmap-item{display:flex;align-items:center;gap:12px;padding:10px 0}
.roadmap-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.roadmap-dot svg{width:14px;height:14px}
.roadmap-title{font-weight:600;font-size:14px;color:var(--gray-700)}
.roadmap-desc{font-size:12px;color:var(--gray-400);font-weight:400}

/* Toast */
.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:var(--radius-md);font-size:13px;font-weight:600;z-index:999;transform:translateY(20px);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-card);border:1px solid var(--gray-200);box-shadow:0 4px 20px rgba(0,0,0,0.06);color:var(--gray-600)}
.toast.show{transform:translateY(0);opacity:1}

@keyframes fadeSlideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.fade-in{animation:fadeSlideIn .4s ease forwards}
.delay-1{animation-delay:.06s;opacity:0}.delay-2{animation-delay:.12s;opacity:0}.delay-3{animation-delay:.18s;opacity:0}.delay-4{animation-delay:.24s;opacity:0}

::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:3px}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.2);z-index:40;backdrop-filter:blur(4px)}.sidebar-overlay.show{display:block}

@media(max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-wrapper{margin-left:0}.topbar-menu-btn{display:flex}.main-content{padding:18px 16px}.stat-grid{grid-template-columns:1fr 1fr}.topbar-greeting{display:none}}
@media(max-width:480px){.auth-card{padding:24px 18px}.stat-grid{grid-template-columns:1fr 1fr}}

/* ============================================
   Precificação — Pricing Page Styles
   ============================================ */

/* ═══ Precificação — Darker fonts for readability ═══ */
.prec-page{max-width:100%}
.prec-page .form-label{color:#374151;font-weight:600}
.prec-page .form-input{color:#1f2937;font-weight:500}
.prec-page .form-input::placeholder{color:#9ca3af}

/* Topbar */
.prec-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.prec-topbar-actions{display:flex;gap:8px}

/* Buttons — more visible */
.btn-sm{padding:8px 16px;font-size:13px;font-weight:600}
.btn-md{padding:10px 20px;font-size:14px;font-weight:700}
.btn-lg{padding:14px 24px;font-size:15px;font-weight:700}
.btn-block{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.btn-outline-dark{border:1.5px solid #6b7280;color:#374151;background:#fff}
.btn-outline-dark:hover{background:#f3f4f6;border-color:#374151}
.btn-success{background:#059669;color:#fff;border:none;padding:12px 20px;font-size:14px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}
.btn-success:hover{background:#047857}
.btn-catalog{background:var(--pink-400);color:#fff;border:none;padding:12px 20px;font-size:14px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}
.btn-catalog:hover{background:var(--pink-500)}

/* Main Tabs */
.prec-tabs{display:flex;gap:4px;background:var(--gray-50);border-radius:var(--radius-md);padding:4px;margin-bottom:20px;flex-wrap:wrap}
.prec-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;cursor:pointer;border:none;background:transparent;color:#6b7280;font-family:var(--font-body);transition:all .15s;white-space:nowrap}
.prec-tab:hover{color:#374151;background:rgba(255,255,255,.5)}
.prec-tab.active{background:#fff;color:var(--pink-500);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.prec-tab svg{flex-shrink:0}

.prec-tab-content{display:none}
.prec-tab-content.active{display:flex;flex-direction:column;gap:16px}

/* Layout */
.prec-layout{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}

/* Sections */
.prec-section{margin-bottom:0}
.prec-section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.prec-section-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.prec-section-title{font-size:15px;font-weight:700;color:#1f2937;flex:1}
.prec-add-btn{margin-left:auto}

/* Grid rows */
.prec-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.prec-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}

/* Time fields */
.prec-time-row{display:flex;gap:8px}
.prec-time-field{position:relative;flex:1}
.prec-time-label{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:#6b7280;font-weight:600;pointer-events:none}

/* Info boxes */
.prec-info-box{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--gray-50);border-radius:var(--radius-sm);border:1px dashed var(--gray-200)}
.prec-info-label{font-size:13px;font-weight:600;color:#4b5563}
.prec-info-value{font-size:15px;font-weight:800;color:#1f2937}

/* Items list */
.prec-table-header{display:flex;align-items:center;gap:8px;padding:6px 0;margin-bottom:4px}
.prec-th-nome{flex:1;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}
.prec-th-valor{width:110px;font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;text-align:right}
.prec-th-acao{width:32px}

.prec-items-list{display:flex;flex-direction:column;gap:6px}
.prec-item-row{display:flex;align-items:center;gap:8px}
.prec-item-row .form-input{flex:1}
.prec-input-valor{width:110px!important;flex:0 0 110px!important;text-align:right}
.prec-item-del{width:32px;height:32px;border-radius:var(--radius-sm);border:1.5px solid var(--gray-200);background:#fff;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.prec-item-del:hover{background:#FEF2F2;color:var(--danger);border-color:#FECACA}

.prec-empty{padding:20px;text-align:center;color:#6b7280;font-size:13px;font-weight:500;background:var(--gray-50);border-radius:var(--radius-sm);border:1px dashed var(--gray-200)}

.form-input-sm{padding:8px 12px;font-size:13px}

/* Calculator — NOT sticky */
.prec-calc-desc{font-size:13px;color:#6b7280;margin-bottom:12px;line-height:1.5}
.prec-calc-tabs{display:flex;gap:2px;background:var(--gray-50);border-radius:var(--radius-sm);padding:3px;margin-bottom:14px;flex-wrap:wrap}
.prec-calc-tab{padding:7px 12px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;border:none;background:transparent;color:#6b7280;font-family:var(--font-body);transition:all .15s;white-space:nowrap}
.prec-calc-tab:hover{color:#374151}
.prec-calc-tab.active{background:#fff;color:var(--pink-500);box-shadow:0 1px 3px rgba(0,0,0,.06)}

.prec-calc-panel{display:none}
.prec-calc-panel.active{display:block}
.prec-calc-title{font-size:14px;font-weight:700;color:#374151;margin-bottom:10px}
.prec-calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prec-calc-result{padding:10px 12px;background:var(--green-50);border:1.5px solid var(--green-100);border-radius:var(--radius-sm);font-size:14px;font-weight:800;color:#059669}

/* Sidebar — sticky */
.prec-sidebar-col{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px}

/* Summary card */
.prec-summary-card{}
.prec-summary-rows{display:flex;flex-direction:column;gap:8px}
.prec-summary-row{display:flex;align-items:center;gap:8px;padding:6px 0}
.prec-summary-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.prec-summary-label{flex:1;font-size:13px;font-weight:600;color:#4b5563}
.prec-summary-value{font-size:14px;font-weight:800;color:#1f2937}
.prec-summary-divider{height:1px;background:var(--gray-200);margin:4px 0}
.prec-summary-total .prec-summary-label{font-size:15px;font-weight:800;color:#1f2937}
.prec-summary-total .prec-summary-value{font-size:20px;font-weight:800;color:var(--pink-500)}

.prec-final-value .prec-summary-value{color:#059669!important;font-size:20px}

/* Publish card — more visible */
.prec-publish-card{border:2px solid var(--pink-100);background:linear-gradient(135deg,#fff 0%,#FFF1F3 100%)}
.prec-publish-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.prec-publish-hint{font-size:12px;color:#6b7280;font-weight:500}
.prec-catalog-fields{margin-top:12px;padding-top:12px;border-top:1px solid var(--pink-100)}

/* Bottom save button */
.prec-btn-save-bottom{margin-top:4px;font-size:15px;padding:14px 20px}

/* Toggle switch */
.prec-toggle{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0;margin-left:auto}
.prec-toggle input{opacity:0;width:0;height:0}
.prec-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#d1d5db;border-radius:26px;transition:all .2s}
.prec-toggle-slider::before{content:'';position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.prec-toggle input:checked + .prec-toggle-slider{background:var(--pink-400)}
.prec-toggle input:checked + .prec-toggle-slider::before{transform:translateX(22px)}

/* Marketplace coming soon */
.prec-marketplace-coming{text-align:center;padding:48px 24px}
.prec-marketplace-icon{color:var(--pink-300);margin-bottom:16px}
.prec-marketplace-coming h3{font-size:20px;font-weight:800;color:#1f2937;margin-bottom:8px}
.prec-marketplace-coming p{font-size:14px;color:#6b7280;max-width:420px;margin:0 auto 20px;line-height:1.6}
.prec-marketplace-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.prec-mp-badge{padding:6px 14px;border-radius:99px;font-size:12px;font-weight:700;background:var(--pink-50);color:var(--pink-500);border:1.5px solid var(--pink-100)}

/* Material list items (read-only) */
.prec-item-nome{flex:1;font-size:13px;font-weight:600;color:#374151;padding:8px 0}
.prec-item-custo{width:110px;font-size:13px;font-weight:800;color:#059669;text-align:right;padding:8px 0}

/* ── List Page ── */
.prec-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.prec-list-title{font-size:20px;font-weight:700;color:#1f2937}
.prec-list-subtitle{font-size:13px;color:#6b7280;font-weight:400;margin-top:2px}

.prec-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}

.prec-list-card{display:flex;flex-direction:column;gap:8px}
.prec-list-card-top{display:flex;align-items:center;gap:8px}
.prec-list-card-name{font-size:15px;font-weight:700;color:#1f2937;flex:1}
.prec-list-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:99px;white-space:nowrap}
.prec-badge-published{background:var(--green-50);color:#059669;border:1px solid var(--green-100)}

.prec-list-card-price{font-size:26px;font-weight:800;color:var(--pink-500);line-height:1}
.prec-list-card-label{font-size:11px;color:#6b7280;font-weight:600}

.prec-list-card-details{display:flex;gap:16px;padding:10px 0;border-top:1px solid var(--gray-100);margin-top:4px}
.prec-list-detail{display:flex;flex-direction:column;gap:2px}
.prec-list-detail-label{font-size:11px;color:#6b7280;font-weight:600}
.prec-list-detail-value{font-size:13px;font-weight:800;color:#1f2937}

.prec-list-card-receber{font-size:13px;color:#374151;padding:8px 12px;background:var(--green-50);border-radius:var(--radius-sm);border:1px solid var(--green-100);font-weight:600}
.prec-list-card-receber strong{color:#059669;font-weight:800}

.prec-list-card-actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--gray-100)}
.prec-list-card-date{font-size:11px;color:#6b7280;font-weight:400}

.prec-list-empty{text-align:center;padding:60px 24px;color:#6b7280}
.prec-list-empty-icon{margin-bottom:16px;color:var(--gray-300)}
.prec-list-empty h3{font-size:16px;font-weight:700;color:#374151;margin-bottom:6px}
.prec-list-empty p{font-size:13px;max-width:360px;margin:0 auto}

/* Responsive */
@media(max-width:1024px){
  .prec-layout{grid-template-columns:1fr}
  .prec-sidebar-col{position:static}
}
@media(max-width:640px){
  .prec-row-3{grid-template-columns:1fr}
  .prec-row-2{grid-template-columns:1fr}
  .prec-calc-grid{grid-template-columns:1fr}
  .prec-list-grid{grid-template-columns:1fr}
  .prec-list-card-details{flex-wrap:wrap;gap:10px}
  .prec-tabs{flex-direction:column}
}


/* ============================================
   FASE 2 — Minha Loja (componentes novos)
   ============================================ */

/* Subtítulo da topbar */
.prec-topbar-sub { font-size: 13px; color: #6b7280; font-weight: 400; margin-top: 2px; }

/* Logo upload */
.loja-logo-area      { display: flex; align-items: flex-start; gap: 20px; }
.loja-logo-preview   { width: 90px; height: 90px; border-radius: 12px; border: 2px dashed #d1d5db; background: #f9fafb; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; position: relative; transition: border-color .2s; }
.loja-logo-preview:hover { border-color: #f9a8d4; }
.loja-logo-placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.loja-logo-img       { width: 100%; height: 100%; object-fit: cover; display: block; }
.loja-logo-remove    { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; border-radius: 50%; background: rgba(0,0,0,.5); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s; }
.loja-logo-remove:hover { background: #ef4444; }
.loja-logo-info      { flex: 1; }
.loja-logo-hint      { font-size: 12px; color: #6b7280; line-height: 1.5; margin: 0 0 12px; }
.loja-char-count     { font-size: 11px; color: #9ca3af; text-align: right; margin-top: 4px; font-weight: 500; }

/* Input com ícone prefixo */
.loja-input-prefix      { position: relative; }
.loja-input-prefix-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #9ca3af; display: flex; align-items: center; pointer-events: none; z-index: 1; }
.loja-input-has-prefix  { padding-left: 36px !important; }

/* Paleta de cores */
.loja-cores-grid       { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.loja-cor-btn          { width: 32px; height: 32px; border-radius: 50%; border: 3px solid transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .15s; }
.loja-cor-btn:hover    { transform: scale(1.15); }
.loja-cor-btn.active   { border-color: rgba(0,0,0,.3); transform: scale(1.1); }
.loja-cor-check        { display: block; opacity: 0; transition: opacity .15s; }
.loja-cor-btn.active .loja-cor-check { opacity: 1; }
.loja-cor-custom-btn   { width: 32px; height: 32px; border-radius: 50%; border: 2px dashed #d1d5db; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #9ca3af; transition: all .15s; background: #f9fafb; position: relative; overflow: hidden; }
.loja-cor-custom-btn:hover { border-color: #f9a8d4; color: #ec4899; }
.loja-cor-custom-btn input[type=color] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }

/* Preview da loja (painel direito) */
.loja-preview-badge      { margin-left: auto; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 99px; background: #f0fdf4; color: #22c55e; border: 1px solid #dcfce7; white-space: nowrap; }
.loja-preview-card       { border: 1.5px solid #e5e7eb; border-radius: 12px; overflow: hidden; background: #fff; }
.loja-preview-banner     { height: 48px; transition: all .3s; }
.loja-preview-body       { padding: 0 14px 14px; }
.loja-preview-avatar     { width: 52px; height: 52px; border-radius: 50%; border: 3px solid #ec4899; background: linear-gradient(135deg,#f9a8d4,#bae6fd); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; color: #fff; margin-top: -26px; overflow: hidden; transition: border-color .3s; }
.loja-preview-info       { margin-top: 8px; }
.loja-preview-nome       { font-size: 14px; font-weight: 800; color: #1f2937; margin-bottom: 4px; }
.loja-preview-local      { display: flex; align-items: center; gap: 4px; font-size: 11px; color: #6b7280; font-weight: 500; margin-bottom: 4px; }
.loja-preview-desc       { font-size: 11px; color: #6b7280; line-height: 1.5; margin-top: 4px; }
.loja-preview-tags       { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.loja-preview-tag        { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 99px; font-size: 10px; font-weight: 700; }
.loja-preview-produtos       { padding: 10px 14px 14px; border-top: 1px solid #f3f4f6; margin-top: 4px; }
.loja-preview-produtos-titulo { font-size: 11px; font-weight: 700; color: #6b7280; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .5px; }
.loja-preview-grid       { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.loja-preview-produto    { height: 60px; border-radius: 8px; background: #f3f4f6; animation: shimmer 1.5s ease-in-out infinite; }
@keyframes shimmer { 0%,100%{opacity:.5} 50%{opacity:.9} }

/* Card link do catálogo */
.loja-link-header  { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.loja-link-icon    { width: 36px; height: 36px; border-radius: 8px; background: #fdf2f8; color: #ec4899; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.loja-link-box     { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: #f9fafb; border: 1.5px solid #e5e7eb; border-radius: 10px; margin-bottom: 8px; }
.loja-link-text    { font-size: 12px; color: #374151; font-weight: 500; flex: 1; word-break: break-all; }
.loja-link-placeholder { font-size: 12px; color: #9ca3af; font-weight: 500; }
.loja-link-copy    { width: 28px; height: 28px; border-radius: 8px; border: 1.5px solid #e5e7eb; background: #fff; color: #6b7280; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .15s; }
.loja-link-copy:hover { background: #fdf2f8; border-color: #fbcfe8; color: #ec4899; }
.loja-link-hint    { font-size: 11px; color: #9ca3af; line-height: 1.5; margin: 0; }

/* Toast variantes */
.toast-success { background: #f0fdf4 !important; border-color: #dcfce7 !important; color: #059669 !important; }
.toast-error   { background: #fef2f2 !important; border-color: #fecaca !important; color: #dc2626 !important; }

/* Responsivo */
@media (max-width: 640px) {
  .loja-logo-area { flex-direction: column; align-items: center; text-align: center; }
}

/* ── Banner de capa ── */
.loja-banner-preview   { position:relative; width:100%; height:120px; border-radius:12px; border:2px dashed #d1d5db; background:#f9fafb; overflow:hidden; display:flex; align-items:center; justify-content:center; transition:border-color .2s; }
.loja-banner-preview:hover { border-color:#f9a8d4; }
.loja-banner-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; cursor:pointer; }
.loja-banner-img       { width:100%; height:100%; object-fit:cover; display:block; }
.loja-banner-remove    { position:absolute; top:8px; right:8px; display:inline-flex; align-items:center; gap:4px; padding:4px 10px; border-radius:99px; background:rgba(0,0,0,.5); color:#fff; border:none; cursor:pointer; font-size:11px; font-weight:600; font-family:var(--font-body); transition:background .15s; }
.loja-banner-remove:hover { background:rgba(239,68,68,.8); }
.loja-banner-upload-btn { position:absolute; bottom:8px; right:8px; display:inline-flex; align-items:center; gap:4px; padding:5px 12px; border-radius:99px; background:rgba(255,255,255,.9); color:#374151; border:1.5px solid #e5e7eb; cursor:pointer; font-size:11px; font-weight:600; font-family:var(--font-body); transition:all .15s; }
.loja-banner-upload-btn:hover { background:#fff; border-color:#f9a8d4; color:#ec4899; }

/* ── Toggles (Entrega) ── */
.loja-toggle-row   { display:flex; align-items:center; gap:14px; cursor:pointer; padding:10px 0; border-bottom:1px solid #f3f4f6; }
.loja-toggle-row:last-child { border-bottom:none; }
.loja-toggle       { position:relative; display:inline-block; width:44px; height:24px; flex-shrink:0; }
.loja-toggle input { opacity:0; width:0; height:0; }
.loja-toggle-slider { position:absolute; cursor:pointer; top:0; left:0; right:0; bottom:0; background:#d1d5db; border-radius:24px; transition:all .2s; }
.loja-toggle-slider::before { content:''; position:absolute; height:18px; width:18px; left:3px; bottom:3px; background:#fff; border-radius:50%; transition:all .2s; box-shadow:0 1px 3px rgba(0,0,0,.15); }
.loja-toggle input:checked + .loja-toggle-slider { background:var(--pink-400); }
.loja-toggle input:checked + .loja-toggle-slider::before { transform:translateX(20px); }

/* ============================================
   FASE 4 — Produtos
   ============================================ */
.prec-list-page  { max-width: 100%; }
.prec-list-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px; }
.prec-list-title { font-size:20px; font-weight:700; color:#1f2937; margin:0; }
.prec-list-subtitle { font-size:13px; color:#6b7280; font-weight:400; margin:3px 0 0; }
.prec-list-empty { text-align:center; padding:48px 24px; }
.prec-list-empty-icon { width:72px; height:72px; border-radius:50%; background:#f3f4f6; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.prec-list-empty h3 { font-size:16px; font-weight:700; color:#1f2937; margin-bottom:8px; }
.prec-list-empty p  { font-size:14px; color:#6b7280; }
.prec-list-badge { font-size:10px; font-weight:700; padding:2px 8px; border-radius:999px; }
.prec-badge-published { background:#dcfce7; color:#16a34a; }


  border: 2px solid #e5e7eb; border-radius: 14px; padding: 10px;
  cursor: pointer; transition: all .2s; background: #fff;
}
/* ── Layout Cards ── */
.layout-card {
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  padding: 8px;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, transform .15s;
  background: #fff;
  position: relative;
}
.layout-card:hover  { border-color: var(--pink-400); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.07); }
.layout-card.active { border-color: var(--pink-500); box-shadow: 0 0 0 3px var(--pink-100); }
/* Badge de seleção */
.layout-check {
  display: none;
  position: absolute;
  top: 8px; right: 8px;
  width: 20px; height: 20px;
  background: var(--pink-500);
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  z-index: 2;
  box-shadow: 0 2px 6px rgba(236,72,153,.35);
  pointer-events: none;
}
.layout-card.active .layout-check { display: flex; }
/* Preview layout variants */
.loja-preview-card[data-layout="clean"]  { background: #fff; }
.loja-preview-card[data-layout="cute"]   { background: #fff9fb; }
.loja-preview-card[data-layout="bold"]   { background: #1f2937; }
.loja-preview-card[data-layout="bold"] .loja-preview-body { background: #1f2937; }
.loja-preview-card[data-layout="bold"] .loja-preview-nome { color: #f9fafb; }
.loja-preview-card[data-layout="bold"] .loja-preview-desc { color: #9ca3af; }
.loja-preview-card[data-layout="bold"] .loja-preview-local { color: #9ca3af; }
.loja-preview-card[data-layout="bold"] .loja-preview-produtos { border-top-color: #374151; }
.loja-preview-card[data-layout="bold"] .loja-preview-produto { background: #374151; }
.loja-preview-card[data-layout="bold"] .loja-preview-produtos-titulo { color: #6b7280; }
.loja-preview-card[data-layout="fresh"] .loja-preview-grid { grid-template-columns: repeat(2,1fr); }
.loja-preview-card[data-layout="fresh"] .loja-preview-produto { border-radius: 12px; }
.loja-preview-card[data-layout="clean"] .loja-preview-grid { grid-template-columns: repeat(4,1fr); }
.loja-preview-card[data-layout="clean"] .loja-preview-produto { height: 40px; border-radius: 3px; background: #f3f4f6; }
.loja-preview-card[data-layout="cute"]  .loja-preview-produto { border-radius: 14px; background: #fbcfe8; }
