@import "https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400&family=Inter:wght@300;400;500;600;700&display=swap";:root{--surface:#f9f9ff;--surface-low:#f0f3ff;--surface-highest:#dce3f2;--surface-white:#fff;--primary:#001e5b;--primary-container:#003189;--primary-fixed:#dbe1ff;--on-primary:#fff;--secondary:#fcd116;--secondary-dark:#b89500;--secondary-container:#fffbe6;--tertiary:#009a44;--tertiary-container:#004218;--tertiary-light:#e6f5ee;--error:#ba1a1a;--error-container:#ffdad6;--warning:#f47920;--warning-container:#fef0e6;--on-surface:#151c27;--on-surface-variant:#44495a;--on-surface-muted:#8b90a0;--outline-variant:#c4c6d426;--font-display:"Public Sans", sans-serif;--font-body:"Public Sans", sans-serif;--font-label:"Inter", sans-serif;--font-mono:"IBM Plex Mono", monospace;--shadow-sm:0 2px 24px #151c270a;--shadow-md:0 4px 40px #151c2712;--shadow-lg:0 8px 64px #151c2717;--radius-sm:.375rem;--radius:.5rem;--radius-xl:1rem;--radius-full:9999px;--gradient-primary:linear-gradient(135deg, #001e5b 0%, #003189 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:15px}body{font-family:var(--font-body);background:var(--surface);color:var(--on-surface);line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body)}input,select,textarea{font-family:var(--font-body)}.topbar{z-index:200;-webkit-backdrop-filter:blur(12px);background:#001e5bf0;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;height:68px;padding:0 2.5rem;display:flex;position:sticky;top:0}.topbar-brand{align-items:center;gap:14px;display:flex}.topbar-logo{background:var(--secondary);border-radius:var(--radius-sm);width:40px;height:40px;font-family:var(--font-label);color:var(--primary);letter-spacing:-.02em;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.topbar-name strong{color:#fff;letter-spacing:-.01em;font-size:14px;font-weight:600;display:block}.topbar-name span{color:#ffffff73;font-size:11px;font-family:var(--font-label)}.topbar-center{color:#ffffff59;font-size:11.5px;font-family:var(--font-label);letter-spacing:.01em}.topbar-actions{align-items:center;gap:8px;display:flex}.reg-bar{background:var(--primary);font-family:var(--font-label);color:#ffffff73;border-bottom:2px solid var(--secondary);align-items:center;gap:12px;padding:6px 2.5rem;font-size:11px;display:flex}.reg-bar strong{color:var(--secondary);font-weight:600}.hero{background:var(--gradient-primary);padding:72px 2.5rem 56px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#fcd1160f 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-40%;right:-10%}.hero-inner{grid-template-columns:1fr 340px;align-items:center;gap:60px;max-width:1140px;margin:0 auto;display:grid}.hero-eyebrow{font-family:var(--font-label);color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:24px;font-size:11px;font-weight:700;display:inline-flex}.hero h1{color:#fff;letter-spacing:-.025em;margin-bottom:20px;font-size:44px;font-weight:800;line-height:1.08}.hero h1 em{color:var(--secondary);font-style:normal}.hero-desc{color:#ffffff9e;max-width:480px;margin-bottom:36px;font-size:16px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hero-stat{border-radius:var(--radius);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0f;padding:22px 20px}.hero-stat-value{font-family:var(--font-label);color:#fff;letter-spacing:-.025em;margin-bottom:5px;font-size:34px;font-weight:800;line-height:1}.hero-stat-value.green{color:#5deba0}.hero-stat-value.gold{color:var(--secondary)}.hero-stat-label{color:#fff6;font-size:11.5px;font-family:var(--font-label)}.pub-tabs{background:var(--surface-white);z-index:100;box-shadow:var(--shadow-sm);padding:0 2.5rem;display:flex;position:sticky;top:68px}.pub-tab{font-size:13.5px;font-weight:500;font-family:var(--font-label);color:var(--on-surface-muted);cursor:pointer;white-space:nowrap;letter-spacing:.01em;background:0 0;border:none;border-bottom:2px solid #0000;padding:16px 20px;transition:color .15s,border-color .15s}.pub-tab:hover{color:var(--on-surface-variant)}.pub-tab.active{color:var(--primary-container);border-bottom-color:var(--primary-container);font-weight:700}.container{max-width:1140px;margin:0 auto;padding:0 2.5rem}.section{padding:48px 0}.btn{border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;font-family:var(--font-label);cursor:pointer;letter-spacing:.01em;white-space:nowrap;border:none;align-items:center;gap:8px;padding:11px 22px;transition:opacity .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:hover{opacity:.9;transform:translateY(-1px)}.btn:active{opacity:1;transform:scale(.99)}.btn-primary{background:var(--gradient-primary);color:var(--on-primary);box-shadow:0 2px 16px #001e5b47}.btn-primary:hover{box-shadow:0 4px 24px #001e5b61}.btn-success{background:var(--tertiary);color:#fff}.btn-warning{background:var(--secondary);color:var(--primary)}.btn-outline{color:var(--on-surface-variant);background:0 0;border:1px solid #c4c6d459}.btn-outline-white{color:#fff;background:0 0;border:1px solid #ffffff38}.btn-outline-white:hover{background:#ffffff14}.btn-danger{background:var(--error);color:#fff}.btn-ghost{color:var(--on-surface-muted);background:0 0;border:none;padding:8px 12px}.btn-ghost:hover{background:var(--surface-low);color:var(--on-surface)}.btn-sm{padding:7px 14px;font-size:12px}.btn-lg{padding:14px 30px;font-size:15px}.btn-full{justify-content:center;width:100%}.badge{border-radius:var(--radius-full);font-size:11px;font-weight:600;font-family:var(--font-label);white-space:nowrap;letter-spacing:.02em;align-items:center;gap:5px;padding:4px 12px;display:inline-flex}.badge:before{content:"";border-radius:50%;width:5px;height:5px}.badge-valide{background:var(--tertiary-light);color:#004218}.badge-valide:before{background:var(--tertiary)}.badge-en_attente{background:var(--warning-container);color:#7b3a00}.badge-en_attente:before{background:var(--warning)}.badge-rejete{background:var(--error-container);color:var(--error)}.badge-rejete:before{background:var(--error)}.badge-actif{background:var(--tertiary-light);color:#004218}.badge-actif:before{background:var(--tertiary)}.badge-expire{background:var(--surface-highest);color:var(--on-surface-muted)}.badge-expire:before{background:var(--on-surface-muted)}.badge-attribue{background:var(--primary-fixed);color:var(--primary)}.badge-attribue:before{background:var(--primary-container)}.badge-brouillon{background:var(--surface-highest);color:var(--on-surface-muted)}.badge-expiration_proche{background:var(--secondary-container);color:var(--secondary-dark)}.badge-expiration_proche:before{background:var(--secondary-dark)}.card{background:var(--surface-white);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px 32px}.card-header{border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:18px;display:flex}.card-title{color:var(--on-surface);letter-spacing:-.01em;font-size:15px;font-weight:600}.card-subtitle{color:var(--on-surface-muted);font-size:12.5px;font-family:var(--font-label);margin-top:3px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{background:var(--surface-white);border-radius:var(--radius);box-shadow:var(--shadow-sm);border-top:3px solid #0000;padding:22px 24px;transition:box-shadow .2s,transform .15s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card.blue{border-top-color:var(--primary-container)}.stat-card.green{border-top-color:var(--tertiary)}.stat-card.orange{border-top-color:var(--warning)}.stat-card.yellow{border-top-color:var(--secondary-dark)}.stat-value{font-family:var(--font-label);letter-spacing:-.025em;margin-bottom:6px;font-size:34px;font-weight:800;line-height:1}.stat-value.blue{color:var(--primary-container)}.stat-value.green{color:var(--tertiary)}.stat-value.orange{color:var(--warning)}.stat-label{color:var(--on-surface-muted);font-size:12px;font-family:var(--font-label)}.form-group{margin-bottom:22px}.form-label{font-size:11.5px;font-weight:700;font-family:var(--font-label);color:var(--on-surface-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;display:block}.form-required{color:var(--error);margin-left:2px}.form-input,.form-select,.form-textarea{border-radius:var(--radius-sm);width:100%;color:var(--on-surface);background:var(--surface-white);box-shadow:0 0 0 1px #c4c6d438,var(--shadow-sm);appearance:none;font-size:14px;font-family:var(--font-body);border:none;padding:11px 16px;transition:box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 3px var(--primary-fixed),0 0 0 1px var(--primary-container);outline:none}.form-input::placeholder{color:var(--on-surface-muted)}.form-hint{color:var(--on-surface-muted);font-size:11.5px;font-family:var(--font-label);margin-top:5px}.form-error{color:var(--error);margin-top:5px;font-size:11.5px}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-textarea{resize:vertical;min-height:100px}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L11 1' stroke='%238b90a0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.filters-bar{background:var(--surface-white);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:18px 24px;display:flex}.search-input-wrap{flex:1;min-width:240px;position:relative}.search-input-wrap svg{color:var(--on-surface-muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{border-radius:var(--radius-sm);background:var(--surface-low);width:100%;color:var(--on-surface);font-size:13.5px;font-family:var(--font-body);border:none;padding:10px 14px 10px 42px;transition:all .2s}.search-input:focus{background:var(--surface-white);box-shadow:0 0 0 2px var(--primary-fixed);outline:none}.filter-select{border-radius:var(--radius-sm);background:var(--surface-low) url("data:image/svg+xml,%3Csvg width='11' height='7' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L11 1' stroke='%238b90a0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;cursor:pointer;color:var(--on-surface-variant);font-size:13px;font-family:var(--font-label);border:none;padding:10px 34px 10px 14px}.filter-select:focus{box-shadow:0 0 0 2px var(--primary-fixed);outline:none}.results-count{color:var(--on-surface-muted);white-space:nowrap;font-size:12px;font-family:var(--font-label)}.table-wrap{background:var(--surface-white);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}table{border-collapse:collapse;width:100%}th{background:var(--surface-low);text-align:left;color:var(--on-surface-muted);text-transform:uppercase;letter-spacing:.07em;font-size:10.5px;font-weight:700;font-family:var(--font-label);white-space:nowrap;padding:12px 20px}td{vertical-align:middle;color:var(--on-surface);border-bottom:1px solid #c4c6d41a;padding:14px 20px;font-size:13.5px}tr:last-child td{border-bottom:none}tr:hover td{background:#f0f3ff73}.td-mono{font-family:var(--font-label);color:var(--on-surface-muted);font-size:12px}.td-name strong{font-size:14px;font-weight:600;display:block}.td-name span{color:var(--on-surface-muted);font-size:12px;font-family:var(--font-label)}.entreprise-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.entreprise-card{background:var(--surface-white);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:default;padding:24px;transition:box-shadow .2s,transform .15s}.entreprise-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.entreprise-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.entreprise-avatar{border-radius:var(--radius-sm);background:var(--primary-fixed);width:44px;height:44px;color:var(--primary-container);font-size:16px;font-weight:800;font-family:var(--font-label);letter-spacing:-.02em;flex-shrink:0;justify-content:center;align-items:center;display:flex}.entreprise-name{letter-spacing:-.01em;margin-bottom:3px;font-size:14.5px;font-weight:600}.entreprise-meta{color:var(--on-surface-muted);font-size:12px;font-family:var(--font-label)}.entreprise-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.tag{background:var(--surface-low);color:var(--on-surface-variant);border-radius:var(--radius-full);font-size:11px;font-weight:500;font-family:var(--font-label);padding:3px 10px}.tag.blue{background:var(--primary-fixed);color:var(--primary-container)}.tag.green{background:var(--tertiary-light);color:#004218}.ao-list{flex-direction:column;gap:12px;display:flex}.ao-card{background:var(--surface-white);border-radius:var(--radius);box-shadow:var(--shadow-sm);grid-template-columns:1fr auto;align-items:start;gap:20px;padding:22px 28px;transition:box-shadow .2s,transform .15s;display:grid}.ao-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.ao-card.expire{opacity:.55}.ao-operateur{color:var(--on-surface-muted);font-size:11px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.ao-titre{letter-spacing:-.01em;margin-bottom:10px;font-size:16px;font-weight:600}.ao-meta{flex-wrap:wrap;gap:20px;margin-top:10px;display:flex}.ao-meta-item{color:var(--on-surface-muted);font-size:12px;font-family:var(--font-label);align-items:center;gap:5px;display:flex}.ao-deadline{text-align:right;white-space:nowrap}.ao-deadline-label{color:var(--on-surface-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-family:var(--font-label);margin-bottom:4px}.ao-deadline-date{color:var(--on-surface);font-size:15px;font-weight:700;font-family:var(--font-label);letter-spacing:-.01em}.ao-deadline-date.urgent{color:var(--error)}.app-layout{background:var(--surface);min-height:100vh;display:flex}.sidebar{background:var(--gradient-primary);flex-direction:column;flex-shrink:0;width:248px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid #ffffff0f;padding:24px 20px 18px}.sidebar-brand-logo{background:var(--secondary);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--primary);font-size:12px;font-weight:800;font-family:var(--font-label);letter-spacing:-.02em;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.sidebar-brand-title{color:#fff;letter-spacing:-.01em;font-size:13px;font-weight:600}.sidebar-brand-sub{color:#ffffff59;font-size:11px;font-family:var(--font-label);margin-top:2px}.sidebar-user{border-bottom:1px solid #ffffff0f;margin-bottom:8px;padding:14px 20px}.sidebar-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--secondary);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:700;font-family:var(--font-label);margin-top:2px}.sidebar-nav{flex:1;padding:8px 12px}.sidebar-section{color:#ffffff38;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;font-family:var(--font-label);padding:14px 8px 6px}.sidebar-link{border-radius:var(--radius-sm);color:#ffffff94;cursor:pointer;text-align:left;width:100%;font-size:13.5px;font-weight:500;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:10px;margin-bottom:1px;padding:10px 12px;transition:background .15s,color .15s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff12}.sidebar-link.active{color:#fff;background:#ffffff21;font-weight:600}.sidebar-link svg{opacity:.7;flex-shrink:0}.sidebar-footer{border-top:1px solid #ffffff0f;padding:12px}.sidebar-footer button{border-radius:var(--radius-sm);color:#fff6;cursor:pointer;width:100%;font-size:13px;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:9px;padding:10px 12px;transition:background .15s,color .15s;display:flex}.sidebar-footer button:hover{color:#fff;background:#ffffff12}.main-content{background:var(--surface);flex:1;overflow-x:hidden}.page-header{margin-bottom:28px;padding:32px 36px 0}.page-title{color:var(--on-surface);letter-spacing:-.02em;font-size:24px;font-weight:700}.page-subtitle{color:var(--on-surface-muted);font-size:13px;font-family:var(--font-label);align-items:center;gap:6px;margin-top:5px;display:flex}.page-header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-body{padding:0 36px 48px}.steps-bar{align-items:center;margin-bottom:36px;display:flex}.step-item{flex:1;align-items:center;gap:10px;display:flex}.step-item:last-child{flex:none}.step-num{width:34px;height:34px;font-size:12.5px;font-weight:700;font-family:var(--font-label);color:var(--on-surface-muted);background:var(--surface-white);border:2px solid #c4c6d459;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.step-num.done{background:var(--tertiary);border-color:var(--tertiary);color:#fff}.step-num.active{background:var(--primary-container);border-color:var(--primary-container);color:#fff}.step-label{color:var(--on-surface-muted);font-size:12px;font-family:var(--font-label)}.step-label.active{color:var(--primary-container);font-weight:600}.step-label.done{color:var(--tertiary)}.step-line{background:#c4c6d440;flex:1;height:2px;margin:0 12px}.step-line.done{background:var(--tertiary)}.upload-area{border-radius:var(--radius);text-align:center;background:var(--surface-low);cursor:pointer;border:2px dashed #c4c6d459;padding:28px;transition:border-color .15s,background .15s}.upload-area:hover{border-color:var(--primary-container);background:var(--primary-fixed)}.upload-area.has-file{border-color:var(--tertiary);background:var(--tertiary-light)}.upload-icon{margin-bottom:10px;font-size:28px}.upload-label{color:var(--on-surface);margin-bottom:4px;font-size:14px;font-weight:600}.upload-hint{color:var(--on-surface-muted);font-size:12px;font-family:var(--font-label)}.upload-file-name{color:#004218;margin-top:8px;font-size:13px;font-weight:600}.alert{border-radius:var(--radius);gap:12px;margin-bottom:20px;padding:16px 20px;font-size:13.5px;line-height:1.55;display:flex}.alert-info{background:var(--primary-fixed);color:var(--primary)}.alert-success{background:var(--tertiary-light);color:#004218}.alert-warning{background:var(--warning-container);color:#6b3100}.alert-error{background:var(--error-container);color:var(--error)}.progress-wrap{background:var(--surface-highest);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar{border-radius:var(--radius-full);background:var(--primary-container);height:100%;transition:width .4s}.progress-bar.green{background:var(--tertiary)}.progress-bar.orange{background:var(--warning)}.inner-tabs{border-bottom:1px solid var(--outline-variant);gap:4px;margin-bottom:24px;display:flex}.inner-tab{font-size:13px;font-weight:500;font-family:var(--font-label);color:var(--on-surface-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;transition:all .15s}.inner-tab:hover{color:var(--on-surface-variant)}.inner-tab.active{color:var(--primary-container);border-bottom-color:var(--primary-container);font-weight:600}.chart-bars{align-items:flex-end;gap:5px;height:120px;padding-top:16px;display:flex}.chart-bar-wrap{flex-direction:column;flex:1;align-items:center;gap:5px;height:100%;display:flex}.chart-bar-value{color:var(--on-surface-muted);font-size:10px;font-weight:700;font-family:var(--font-label)}.chart-bar{border-radius:3px 3px 0 0;width:100%;min-height:3px;transition:height .4s}.chart-bar.blue{background:var(--primary-container)}.chart-bar.green{background:var(--tertiary)}.chart-bar.orange{background:var(--warning)}.chart-bar-label{color:var(--on-surface-muted);font-size:10px;font-family:var(--font-label);text-align:center}.donut-wrap{align-items:center;gap:24px;display:flex}.donut{background:conic-gradient(var(--primary-container) 0deg calc(var(--pct-auto)*3.6deg),var(--tertiary) calc(var(--pct-auto)*3.6deg) calc((var(--pct-auto)+var(--pct-gab))*3.6deg),var(--warning) calc((var(--pct-auto)+var(--pct-gab))*3.6deg) 360deg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;display:flex}.donut:after{content:"";background:var(--surface-white);border-radius:50%;width:65px;height:65px}.donut-legend{flex-direction:column;gap:8px;display:flex}.donut-item{align-items:center;gap:9px;font-size:13px;display:flex}.donut-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.login-page{grid-template-columns:1fr 480px;min-height:100vh;display:grid}.login-left{background:var(--gradient-primary);flex-direction:column;justify-content:center;padding:72px;display:flex;position:relative;overflow:hidden}.login-left:after{content:"";pointer-events:none;background:radial-gradient(circle,#fcd11612 0%,#0000 70%);width:500px;height:500px;position:absolute;bottom:-20%;right:-15%}.login-left h2{color:#fff;letter-spacing:-.025em;margin-bottom:16px;font-size:34px;font-weight:800;line-height:1.15}.login-left p{color:#ffffff94;font-size:16px;line-height:1.7}.login-demo-accounts{margin-top:48px}.login-demo-title{color:var(--secondary);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;font-family:var(--font-label);margin-bottom:14px}.login-demo-item{border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0f;margin-bottom:8px;padding:14px 18px;transition:background .15s}.login-demo-item:hover{background:#ffffff1a}.login-demo-role{font-size:11.5px;font-weight:600;font-family:var(--font-label);margin-bottom:3px}.login-demo-email{color:#ffffffa6;font-size:12px;font-family:var(--font-label)}.login-right{background:var(--surface);justify-content:center;align-items:center;padding:48px 56px;display:flex}.login-form-wrap{width:100%;max-width:360px}.login-form-title{letter-spacing:-.02em;margin-bottom:6px;font-size:24px;font-weight:700}.login-form-sub{color:var(--on-surface-muted);font-size:13px;font-family:var(--font-label);margin-bottom:32px}.section-header{margin-bottom:28px}.section-title{letter-spacing:-.02em;color:var(--on-surface);margin-bottom:5px;font-size:22px;font-weight:700}.section-desc{color:var(--on-surface-muted);font-size:13px;font-family:var(--font-label)}.pub-footer{background:var(--primary);border-top:3px solid var(--secondary);margin-top:72px;padding:48px 2.5rem 28px}.pub-footer-grid{grid-template-columns:2fr 1fr 1fr;gap:48px;max-width:1140px;margin:0 auto 36px;display:grid}.pub-footer-brand-name{color:#fff;letter-spacing:-.01em;margin-bottom:10px;font-size:15px;font-weight:700}.pub-footer-desc{color:#fff6;font-size:13px;line-height:1.7}.pub-footer-col-title{color:var(--secondary);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;font-family:var(--font-label);margin-bottom:14px}.pub-footer-link{color:#fff6;margin-bottom:8px;font-size:13px;transition:color .15s;display:block}.pub-footer-link:hover{color:#fff}.pub-footer-bottom{color:#ffffff47;max-width:1140px;font-size:11.5px;font-family:var(--font-label);border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;margin:0 auto;padding-top:22px;display:flex}.empty-state{text-align:center;color:var(--on-surface-muted);padding:56px 24px}.empty-state-icon{opacity:.45;margin-bottom:14px;font-size:40px}.empty-state-title{color:var(--on-surface-variant);margin-bottom:6px;font-size:16px;font-weight:600}.empty-state-desc{font-size:13px;font-family:var(--font-label)}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{gap:16px;display:flex;position:relative}.timeline-item:before{content:"";background:#c4c6d42e;width:2px;position:absolute;top:34px;bottom:-8px;left:15px}.timeline-item:last-child:before{display:none}.timeline-dot{width:32px;height:32px;font-size:12px;font-weight:700;font-family:var(--font-label);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:8px;display:flex}.timeline-dot.valide{background:var(--tertiary-light);color:var(--tertiary);border:2px solid var(--tertiary)}.timeline-dot.pending{background:var(--surface-highest);color:var(--on-surface-muted);border:2px solid #c4c6d459}.timeline-dot.active{background:var(--primary-fixed);color:var(--primary-container);border:2px solid var(--primary-container)}.timeline-content{flex:1;padding-bottom:24px}.timeline-date{color:var(--on-surface-muted);font-size:11px;font-family:var(--font-label);margin-bottom:4px}.timeline-title{color:var(--on-surface);margin-bottom:4px;font-size:14px;font-weight:600}.timeline-desc{color:var(--on-surface-muted);font-size:13px}@media (width<=960px){.hero-inner{grid-template-columns:1fr}.hero-stats{display:none}.stat-grid{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:1fr}.login-left,.sidebar{display:none}.form-row{grid-template-columns:1fr}.pub-footer-grid{grid-template-columns:1fr;gap:28px}.topbar,.container{padding:0 1.25rem}.page-body{padding:0 20px 40px}.page-header{padding:24px 20px 0}}
