@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Outfit:wght@100..900&display=swap";:root{--color-primary:#163d28;--color-secondary:#c49a1a;--color-accent:var(--color-secondary);--color-success:#163d28;--color-warning:#c49a1a;--color-danger:#dc2626;--color-bg:#f5f4f0;--color-surface:#fafaf8;--color-border:#e5e4e0;--color-text-primary:#1a2340;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--risk-ontrack:var(--color-success);--risk-atrisk:var(--color-warning);--risk-overdue:var(--color-danger);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--radius-card:16px;--radius-btn:12px;--radius-pill:999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--z-sidebar:50;--z-header:40;--z-overlay:1000}body{font-family:var(--sf-font-body);color:var(--sf-text);-webkit-font-smoothing:antialiased;line-height:1.5}.text-display{font-family:var(--sf-font-display);letter-spacing:-.01em;color:var(--sf-navy);font-weight:600;line-height:1.15}h1,h2,h3,h4,h5,h6{font-family:var(--sf-font-heading);letter-spacing:-.02em;color:var(--sf-navy);font-weight:700}.text-title{font-size:2.5rem;line-height:1.2}.text-h1{font-size:1.875rem;line-height:2.25rem}.text-h2{font-size:1.5rem;line-height:2rem}.text-h3{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--sf-text-secondary)}.text-bold{font-weight:600}.text-center{text-align:center}.text-black{color:#000!important}.deadline-dominant{color:var(--sf-green);letter-spacing:-.05em;font-size:1.5rem;font-weight:800}.sf-wordmark{font-family:var(--sf-font-display);letter-spacing:.01em;color:var(--sf-green);font-weight:600}@media (width<=768px){.container{padding-left:var(--space-md);padding-right:var(--space-md)}.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-12{grid-template-columns:1fr}.md\:col-span-8,.md\:col-span-4{grid-column:span 1/span 1!important}}@media (width>=769px){.md\:grid-cols-12{grid-template-columns:repeat(12,1fr)}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-4{grid-column:span 4/span 4}.md\:order-1{order:1}.md\:order-2{order:2}}@media (width<=768px){.MuiDialog-paper{width:calc(100% - 32px)!important;max-height:calc(100% - 32px)!important;margin:16px!important}}:root{--top-bar-height:64px;--sidebar-width:240px}html,body{-webkit-tap-highlight-color:transparent;max-width:100vw;overflow-x:clip}.mobile-page-title{color:var(--color-text-primary);letter-spacing:-.01em!important;font-size:1.25rem!important;font-weight:800!important}.has-bottom-nav{padding-bottom:calc(64px + env(safe-area-inset-bottom,16px))!important}.top-bar{-webkit-backdrop-filter:blur(12px)!important;border-bottom:1px solid var(--color-border)!important;color:var(--color-text-primary)!important;background:#fafaf8cc!important;transition:width .3s,margin .3s!important}.top-bar-toolbar{min-height:64px;padding:0 var(--space-lg)}@media (width<=768px){.top-bar-toolbar{min-height:56px;padding:0 var(--space-sm)}}.app-shell-root{background-color:var(--color-bg);min-height:100vh;display:flex}.main-content{flex-direction:column;flex-grow:1;min-width:0;transition:width .3s,margin .3s;display:flex}html,body{max-width:100vw;overflow-x:clip}.content-container{padding:var(--space-xl) var(--space-lg);flex-grow:1;max-width:100vw}@media (width<=768px){.content-container{padding:var(--space-md)}}.sidebar-container{color:#fff;background-color:#163d28;flex-direction:column;min-height:100%;display:flex}.sidebar-header{padding:var(--space-md);align-items:center;gap:var(--space-sm);display:flex}.sidebar-user-card{padding:var(--space-md);align-items:center;gap:var(--space-md);background-color:#0000001a;border-top:1px solid #ffffff1a;display:flex}.sticky-header{top:var(--top-bar-height)!important;z-index:100!important;-webkit-backdrop-filter:blur(12px)!important;border-bottom:1px solid var(--color-border)!important;background-color:#fafaf8e6!important;position:sticky!important}@media (width<=768px){:root{--top-bar-height:56px}.sticky-header{top:var(--top-bar-height)!important}}.btn{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-btn);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-accent{background-color:var(--color-accent);color:#fff}.btn-text{color:var(--color-accent);padding:var(--space-xs) var(--space-sm);background:0 0}.btn-text:hover{text-decoration:underline}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.responsive-btn .btn-icon{display:none!important}@media (width<=768px){.responsive-btn span.btn-label,.responsive-btn .btn-label,.responsive-btn [class*=btn-label]{display:none!important}.responsive-btn span.btn-icon,.responsive-btn .btn-icon,.responsive-btn [class*=btn-icon]{justify-content:center;align-items:center;display:inline-flex!important}.responsive-btn{aspect-ratio:1!important;border-radius:50%!important;width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;overflow:hidden!important}}.sf-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s}.sf-card:hover{box-shadow:var(--shadow-md)}.deadline-card{border-left:6px solid var(--color-primary)}.deadline-card.at-risk{border-left-color:var(--risk-atrisk)}.deadline-card.overdue{border-left-color:var(--risk-overdue)}.badge{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.badge-ontrack{background-color:var(--risk-ontrack);color:#fff;border:1px solid var(--risk-ontrack)}.badge-atrisk{background-color:var(--risk-atrisk);color:#fff;border:1px solid var(--risk-atrisk)}.badge-overdue{background-color:var(--risk-overdue);color:#fff;border:1px solid var(--risk-overdue)}.badge-warning{background-color:var(--color-warning);color:#fff;border:1px solid var(--color-warning)}.timeline{gap:var(--space-lg);flex-direction:column;display:flex;position:relative}.timeline-marker{background:var(--color-border);border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:24px;position:relative}.timeline-actor{color:var(--color-primary);font-size:.875rem;font-weight:700}.timeline-action{color:var(--color-text-secondary);font-size:.9375rem}.evidence-photo img{object-fit:cover;width:100%;max-height:240px;display:block}.form-group{gap:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column;display:flex}.form-label{color:var(--color-primary);font-size:.875rem;font-weight:700}.form-input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-btn);font-size:1rem;transition:border-color .2s}.form-input:focus{border-color:var(--color-accent);outline:none}.form-error{color:var(--color-danger);font-size:.75rem;font-weight:600}.sf-table-container{border-radius:var(--radius-card);border:1px solid var(--color-border);background:var(--color-surface);overflow-x:auto}.sf-table{border-collapse:collapse;text-align:left;width:100%}.sf-table th{background:var(--color-bg);padding:var(--space-md);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-border);white-space:nowrap;font-size:.75rem;font-weight:800}.sf-table td{padding:var(--space-md);border-bottom:1px solid var(--color-border);white-space:nowrap;font-size:.875rem}.sf-table tr:last-child td{border-bottom:none}.sf-table tr:hover td{background:#2563eb05}.stepper{align-items:center;gap:var(--space-xs);display:flex}.step{border-radius:var(--radius-pill);background:var(--color-border);flex:1;height:6px}.step-complete{background:var(--color-success)}.step-active{background:var(--color-accent);box-shadow:0 0 0 2px #2563eb33}.step-warning{background:var(--risk-atrisk)}.skeleton-shimmer{background:linear-gradient(90deg,#e5e7eb80 25%,#e5e7eb 50%,#e5e7eb80 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{background-color:#f3f4f6;width:100%;height:1rem}.skeleton-badge{background-color:#f3f4f6;border-radius:9999px;width:80px;height:24px}.skeleton-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(.95)}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg)}button{cursor:pointer;font:inherit;background:0 0;border:none}a{color:inherit;text-decoration:none}.error-page-container{background-color:var(--color-bg);width:100%;min-height:100vh;font-family:Outfit,sans-serif;display:flex}.error-visual-pane{padding:var(--space-xxl);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.error-visual-pane.dark{color:#fff;background-color:#0a0c20}.error-visual-pane.light{background-color:var(--color-surface)}.error-visual-pane img{border-radius:var(--radius-card);z-index:2;max-width:80%;height:auto;box-shadow:0 20px 50px #0000004d}.error-visual-pane.light img{max-width:min(60%,320px);box-shadow:none;border-radius:0}.error-message-pane{padding:var(--space-xxl);background-color:#fff;flex-direction:column;flex:1;justify-content:center;display:flex}.error-code-badge{color:var(--color-secondary);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-md);font-family:Inter,monospace;font-size:.875rem;font-weight:600}.error-title{color:var(--color-text-primary);margin-bottom:var(--space-lg);max-width:500px;font-size:3.5rem;font-weight:800;line-height:1.1}.error-title .highlight{color:var(--color-secondary)}.error-description{color:var(--color-text-secondary);margin-bottom:var(--space-xl);max-width:480px;font-size:1.125rem;line-height:1.6}.error-actions{gap:var(--space-md);margin-bottom:var(--space-xxl);display:flex}.error-button{border-radius:var(--radius-btn);align-items:center;gap:var(--space-sm);padding:14px 28px;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.error-button:hover{transform:translateY(-2px)}.error-button.primary{color:#fff;background-color:#0a0c20;box-shadow:0 10px 20px #0a0c2033}.error-button.secondary{color:var(--color-text-primary);background-color:#f3f4f6}.error-meta{padding-top:var(--space-lg);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;width:100%;margin-top:auto;display:flex}.error-meta-item{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.error-meta-item strong{color:var(--color-text-secondary);margin-top:4px;display:block}.locked-icons-container{justify-content:center;align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.locked-icon-main{color:var(--color-secondary);filter:drop-shadow(0 0 20px #c49a1a66);font-size:120px!important}.sf-brand-footer{bottom:var(--space-xl);left:var(--space-xl);opacity:.3;width:auto;height:40px;position:absolute}@media (width<=1024px){.error-page-container{flex-direction:column}.error-visual-pane{padding:var(--space-xl);flex:0 0 40vh}.error-message-pane{padding:var(--space-xl)}.error-title{font-size:2.5rem}}.ledger-title{letter-spacing:-.5px;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:800}.order-entry-card{cursor:pointer;border:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-card);margin-bottom:var(--space-md);background:#fffc;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.order-entry-card:hover{border-color:var(--color-primary);background:#fff;transform:translateY(-2px);box-shadow:0 8px 30px #163d281f}@media (width>=769px){.order-entry-card{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);display:flex}.desktop-hide{display:none}}@media (width<=768px){.order-entry-card{flex-direction:column;padding:0;display:flex}.card-top{padding:var(--space-md);border-bottom:1px solid #0000000d;justify-content:space-between;align-items:flex-start;display:flex}.card-body{padding:var(--space-md);justify-content:space-between;align-items:center;display:flex}.card-footer{padding:var(--space-sm) var(--space-md);background:#00000005;justify-content:space-between;align-items:center;display:flex}.mobile-hide{display:none}.orders-ledger{transition:padding .3s;padding-bottom:120px!important}.pagination-footer{padding:0 var(--space-sm)!important}.pagination-btn{justify-content:center;align-items:center;min-width:48px;min-height:48px;display:flex;padding:var(--space-sm) var(--space-md)!important}.btn-label{display:none}.btn-icon{justify-content:center;align-items:center;display:inline-flex}.pagination-text{font-size:.75rem}}.btn-icon{display:none}.fab-container{bottom:calc(var(--space-xl) + 60px);right:var(--space-lg);z-index:var(--z-overlay);position:fixed}.fab-main{background-color:var(--color-primary);color:#fff;cursor:pointer;border-radius:28px;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s;display:flex;box-shadow:0 4px 14px #163d2866}.fab-main:active{transform:scale(.9)}.mobile-filter-container{display:none}@media (width<=768px){.mobile-filter-container{z-index:var(--z-header);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--color-border);padding:var(--space-sm) 0;padding-bottom:env(safe-area-inset-bottom);background:#ffffffe6;display:block;position:fixed;bottom:0;left:0;right:0}.filter-scroll{padding:0 var(--space-md);gap:var(--space-sm);-ms-overflow-style:none;scrollbar-width:none;display:flex;overflow-x:auto}.filter-scroll::-webkit-scrollbar{display:none}.mobile-filter-chip{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;font-size:.75rem;font-weight:800;transition:all .2s}.mobile-filter-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 12px #163d2833}}.container{max-width:1280px;padding-left:var(--space-lg);padding-right:var(--space-lg);margin-left:auto;margin-right:auto}.grid{gap:var(--space-lg);display:grid}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-12{grid-template-columns:repeat(12,1fr)}@media (width<=768px){.container{padding-left:var(--space-md);padding-right:var(--space-md)}.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-12{grid-template-columns:1fr}.md\:col-span-8,.md\:col-span-4{grid-column:span 1/span 1!important}}@media (width>=769px){.md\:grid-cols-12{grid-template-columns:repeat(12,1fr)}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-4{grid-column:span 4/span 4}.md\:order-1{order:1}.md\:order-2{order:2}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-md{gap:var(--space-md)}.sf-glass{background:var(--sf-glass-bg);background-image:var(--sf-texture);-webkit-backdrop-filter:blur(12px);border:1px solid var(--sf-glass-border)}.sf-card{background:var(--sf-parchment);background-image:var(--sf-texture);border:1px solid var(--sf-border);border-radius:16px;padding:20px 24px}.sf-glass-card{background:#fff9;background-image:var(--sf-texture);border:1px solid #ffffff80;border-radius:12px}@media (width<=768px){.MuiDialog-paper{width:calc(100% - 32px)!important;max-height:calc(100% - 32px)!important;margin:16px!important}}.mt-xl{margin-top:var(--space-xl)}.mb-lg{margin-bottom:var(--space-lg)}.p-lg{padding:var(--space-lg)}.order-1{order:1}.order-2{order:2}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-profile-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:flex-end;gap:var(--space-lg);display:flex}@media (width<=768px){.client-profile-header{align-items:flex-start;gap:var(--space-md);flex-direction:column}.client-profile-actions{flex-direction:column;width:100%}.client-profile-actions button{width:100%!important}}.client-info-card{padding:var(--space-xl);border-radius:24px;height:100%}.measurement-grid-card{padding:var(--space-xl);border-radius:24px;position:relative;overflow:hidden}.measurement-point{padding:var(--space-md);background-color:#ffffff80;border:1px solid #0000000d;border-radius:12px}.system-id-box{padding:var(--space-sm);margin-top:var(--space-xs);color:var(--color-primary);background-color:#163d280d;border-radius:8px;font-family:monospace;font-weight:700}:root{--portal-bg:#f5f4f0;--portal-card:#fafaf8;--portal-primary:#1a2340;--portal-accent:#163d28;--portal-progress:#c49a1a;--portal-text:#334155;--portal-text-light:#64748b;--portal-shadow:0 10px 25px -5px #0000000d, 0 8px 10px -6px #0000000d}.portal-container{background:var(--portal-bg);min-height:100vh;color:var(--portal-text);flex-direction:column;align-items:center;padding:40px 20px;font-family:Inter,system-ui,sans-serif;display:flex}.portal-header{text-align:center;margin-bottom:40px;animation:.8s ease-out fadeInDown}.portal-logo-img{width:auto;max-width:100%;height:64px;margin:0 auto 8px;display:block}.portal-card{background:var(--portal-card);width:100%;max-width:600px;box-shadow:var(--portal-shadow);border:1px solid #e2e8f0cc;border-radius:24px;padding:40px;animation:1s ease-out fadeInUp}.portal-status-badge{text-transform:uppercase;letter-spacing:.05em;color:#475569;background:#f1f5f9;border-radius:9999px;margin-bottom:24px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-block}.portal-status-badge.completed{color:#166534;background:#dcfce7}.portal-greeting{letter-spacing:-.025em;color:var(--portal-primary);margin-bottom:16px;font-size:1.875rem;font-weight:700}.portal-narrative{color:var(--portal-text-light);border-left:3px solid #e2e8f0;margin-bottom:40px;padding-left:20px;font-size:1.125rem;font-style:italic;line-height:1.6}.portal-timeline{margin-left:8px;position:relative}.portal-timeline:before{content:"";background:#f1f5f9;width:2px;position:absolute;top:0;bottom:0;left:11px}.portal-timeline-item{padding-bottom:32px;padding-left:40px;position:relative}.portal-timeline-item:last-child{padding-bottom:0}.portal-timeline-marker{z-index:1;background:#fff;border:2px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .3s;display:flex;position:absolute;top:0;left:0}.portal-timeline-item.completed .portal-timeline-marker{background:var(--portal-accent);border-color:var(--portal-accent)}.portal-timeline-item.in_progress .portal-timeline-marker{border-color:var(--portal-progress);box-shadow:0 0 0 4px #3b82f61a}.portal-timeline-item.in_progress .portal-timeline-marker:after{content:"";background:var(--portal-progress);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.portal-timeline-content{flex-direction:column;display:flex}.portal-timeline-name{color:var(--portal-primary);font-size:1rem;font-weight:600}.portal-timeline-date{color:var(--portal-text-light);margin-top:2px;font-size:.8125rem}.portal-footer{text-align:center;color:var(--portal-text-light);margin-top:40px;font-size:.875rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.portal-loading,.portal-error{flex-direction:column;justify-content:center;align-items:center;min-height:50vh;display:flex}.portal-error-icon{margin-bottom:20px;font-size:3rem}.group-dashboard-root{background:var(--color-bg);min-height:100vh;color:var(--color-text-primary);padding:var(--space-xl);font-family:Inter,system-ui,sans-serif}.group-header{margin-bottom:var(--space-xxl);justify-content:space-between;align-items:flex-start;display:flex}.group-header h1{color:var(--color-primary);margin:0;font-size:2.5rem}.event-date{color:var(--color-text-secondary);margin-top:var(--space-xs);font-size:1.1rem}.glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-card);box-shadow:var(--shadow-md);background:#ffffffb3;border:1px solid #ffffff4d}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-xxl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.stat-card{padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.stat-card label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.stat-value{font-size:2rem;font-weight:700}.text-danger{color:var(--color-danger)}.progress-bar-container{background:var(--color-border);border-radius:var(--radius-pill);height:24px;position:relative;overflow:hidden}.progress-fill{background:var(--color-primary);height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-text{color:#fff;text-shadow:0 1px 2px #0003;font-size:.8rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.member-table-container{padding:var(--space-md);overflow-x:auto}.member-table{border-collapse:collapse;text-align:left;width:100%}.member-table th{padding:var(--space-md);border-bottom:2px solid var(--color-border);color:var(--color-text-secondary);font-size:.9rem;font-weight:600}.member-table td{padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--color-border)}.member-info{flex-direction:column;display:flex}.member-name{font-weight:600}.order-id{color:var(--color-text-muted);font-size:.8rem}.risk-pill,.stage-pill{border-radius:var(--radius-pill);white-space:nowrap;padding:4px 12px;font-size:.8rem;font-weight:700}.stage-pill{background:var(--color-bg);border:1px solid var(--color-border)}.risk-ontrack{color:var(--risk-ontrack);background:#163d281a}.risk-atrisk{color:var(--risk-atrisk);background:#c49a1a1a}.risk-overdue{color:var(--risk-overdue);background:#dc26261a}.risk-badge.large{border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);padding:8px 24px;font-size:1rem;font-weight:800}.loading-container,.error-container{flex-direction:column;justify-content:center;align-items:center;height:80vh;display:flex}.spinner{border:4px solid var(--color-border);border-top-color:var(--color-primary);width:40px;height:40px;margin-bottom:var(--space-md);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.verification-stack{flex-direction:column;gap:4px;display:flex}.pending-flag{color:var(--color-warning);font-size:.75rem;font-weight:600}.verified-check{color:var(--color-success);font-size:.75rem;font-weight:600}.mini-progress{align-items:center;gap:var(--space-sm);display:flex}.mini-progress-bar{background:var(--color-border);border-radius:var(--radius-pill);flex:1;height:8px;overflow:hidden}.mini-progress-fill{background:var(--color-primary);height:100%}.percent-text{width:32px;font-size:.75rem;font-weight:600}#root{flex-direction:column;min-height:100vh;display:flex}.public-layout{flex-direction:column;justify-content:center;min-height:100vh;display:flex}.protected-layout{height:100vh;display:flex;overflow:hidden}.sf-sidebar{border-right:1px solid var(--sf-border);width:280px;height:100%;z-index:var(--sf-z-sidebar);flex-direction:column;transition:transform .3s;display:flex}.sidebar-closed .sf-sidebar{transform:translate(-100%)}.sf-main-content{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.sf-header{border-bottom:1px solid var(--sf-border);height:64px;padding:0 var(--sf-space-lg);z-index:var(--sf-z-header);align-items:center;display:flex}.sf-page-container{padding:var(--sf-space-xl);flex:1;overflow-y:auto}.sf-loading-overlay{background:var(--sf-background);color:var(--sf-primary);z-index:9999;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;display:flex;position:fixed;inset:0}.login-page{width:100%;max-width:400px}.login-card{padding:var(--sf-space-xl);text-align:center}.login-card h1{margin-bottom:var(--sf-space-xs);font-size:2.5rem}.subtitle{color:var(--sf-text-secondary);margin-bottom:var(--sf-space-xl);font-weight:500}.form-group{text-align:left;margin-bottom:var(--sf-space-md)}.form-group label{margin-bottom:var(--sf-space-xs);font-size:.875rem;font-weight:600;display:block}.form-group input{width:100%;padding:var(--sf-space-sm) var(--sf-space-md);border:1px solid var(--sf-border);border-radius:var(--sf-radius-button);font-size:1rem}.primary-button{background-color:var(--sf-primary);color:#fff;width:100%;padding:var(--sf-space-md);border-radius:var(--sf-radius-button);margin-top:var(--sf-space-md);font-weight:600;transition:opacity .2s}.primary-button:hover{opacity:.9}.primary-button:disabled{opacity:.5;cursor:not-allowed}.text-button{color:var(--sf-accent);font-size:.875rem;font-weight:600}.text-button:hover{text-decoration:underline}.error-message{color:var(--sf-danger);margin-bottom:var(--sf-space-md);font-size:.875rem}.welcome-panel{padding:var(--sf-space-lg);margin-bottom:var(--sf-space-xl);justify-content:space-between;align-items:center;display:flex}.welcome-panel h1{margin-bottom:var(--sf-space-xs);font-size:1.5rem}.active-store{color:var(--sf-text-secondary);font-size:.875rem}.active-store strong{color:var(--sf-primary)}.timeline{gap:var(--sf-space-lg);flex-direction:column;display:flex}.timeline-item{gap:var(--sf-space-md);display:flex}.timeline-marker{background:var(--sf-border);border-radius:50%;width:12px;height:12px;margin-top:6px;position:relative}.timeline-marker:after{content:"";width:2px;height:calc(100% + var(--sf-space-lg));background:var(--sf-border);position:absolute;top:12px;left:5px}.timeline-item:last-child .timeline-marker:after{display:none}.timeline-content{flex:1}.timeline-header{margin-bottom:var(--sf-space-xs);justify-content:space-between;display:flex}.timeline-actor{font-size:.875rem;font-weight:600}.timeline-time{color:var(--sf-text-muted);font-size:.75rem}.evidence-photo{margin-top:var(--sf-space-sm);border-radius:var(--sf-radius-card);border:1px solid var(--sf-border);overflow:hidden}.evidence-photo img{object-fit:cover;width:100%;max-height:200px}@keyframes pulse-active{0%{box-shadow:0 0 #c49a1a73}70%{box-shadow:0 0 0 10px #c49a1a00}to{box-shadow:0 0 #c49a1a00}}.animate-pulse{animation:2s infinite pulse-active}
