.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0d0d0d;background-image:radial-gradient(ellipse at 20% 50%,rgba(255,100,0,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(255,60,0,.06) 0%,transparent 60%)}.login-card{background:#1a1a1a;border:1px solid #333;border-top:3px solid #e85d04;border-radius:4px;padding:2.5rem 2rem;width:100%;max-width:380px;box-shadow:0 20px 60px #0009}.login-logo{text-align:center;margin-bottom:2rem}.login-logo-main{display:block;font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:3rem;letter-spacing:.1em;color:#e85d04;line-height:1;text-transform:uppercase}.login-logo-sub{display:block;font-family:Barlow Condensed,sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.3em;color:#888;text-transform:uppercase;margin-top:.25rem}.login-desc{font-size:.9rem;color:#aaa;margin-bottom:1.25rem;line-height:1.5}.login-desc strong{color:#ddd}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-input{background:#111;border:1px solid #444;border-radius:3px;color:#eee;font-size:1rem;padding:.65rem .85rem;outline:none;transition:border-color .15s;font-family:Barlow,sans-serif}.login-input:focus{border-color:#e85d04}.login-input--code{font-size:2rem;letter-spacing:.5em;text-align:center;font-family:Barlow Condensed,monospace;font-weight:700}.login-error{background:#dc262626;border:1px solid rgba(220,38,38,.4);border-radius:3px;color:#f87171;font-size:.85rem;padding:.5rem .75rem}.login-btn{background:#e85d04;border:none;border-radius:3px;color:#fff;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.1em;padding:.7rem 1rem;text-transform:uppercase;transition:background .15s,opacity .15s}.login-btn:hover:not(:disabled){background:#ff6d1f}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn--ghost{background:transparent;border:1px solid #444;color:#888;font-size:.85rem}.login-btn--ghost:hover:not(:disabled){background:#222;border-color:#666;color:#ccc}.fleets-page{min-height:100vh;background:#0d0d0d;color:#eee;font-family:Barlow,sans-serif}.fleets-header{background:#111;border-bottom:2px solid #e85d04;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:1.8rem;color:#e85d04;letter-spacing:.08em}.brand-sub{font-family:Barlow Condensed,sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.3em;color:#666;margin-left:.5rem;text-transform:uppercase}.fleets-user{display:flex;align-items:center;gap:1rem}.user-email{color:#888;font-size:.85rem}.fleets-main{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.fleets-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-title{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1.4rem;letter-spacing:.05em;text-transform:uppercase;color:#ddd;margin:0}.fleets-empty{color:#666;font-size:.95rem;padding:3rem;text-align:center;border:1px dashed #333;border-radius:4px}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.fleet-card{background:#1a1a1a;border:1px solid #333;border-top:3px solid #444;border-radius:4px;padding:1rem;cursor:pointer;transition:border-color .15s,background .15s}.fleet-card:hover{background:#1f1f1f;border-color:#555;border-top-color:#e85d04}.fleet-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.fleet-card-name{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1.15rem;color:#eee}.fleet-card-sponsor{font-size:.75rem;color:#e85d04;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.fleet-card-stats{display:flex;justify-content:space-between;font-size:.85rem;color:#888;margin-bottom:.75rem}.fleet-cans{color:#e85d04;font-weight:600}.fleet-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2a2a2a;padding-top:.6rem}.fleet-updated{font-size:.75rem;color:#555}.btn{border:none;border-radius:3px;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-weight:700;letter-spacing:.08em;padding:.5rem 1rem;text-transform:uppercase;transition:background .15s,opacity .15s;font-size:.9rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary:hover:not(:disabled){background:#ff6d1f}.btn--ghost{background:transparent;border:1px solid #444;color:#888}.btn--ghost:hover:not(:disabled){background:#222;border-color:#666;color:#ccc}.btn--danger{background:transparent;border:1px solid #444;color:#888}.btn--danger:hover:not(:disabled){background:#dc262626;border-color:#dc2626;color:#f87171}.btn--sm{padding:.3rem .6rem;font-size:.75rem}.page-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#666;font-family:Barlow,sans-serif;background:#0d0d0d}.vehicle-card{background:#1a1a1a;border:1px solid #333;border-radius:4px;overflow:hidden;transition:border-color .15s}.vehicle-card--editing{border-color:#e85d04;box-shadow:0 0 0 1px #e85d044d}.vehicle-card--unknown{padding:1rem;color:#666}.vehicle-card-header{background:#222;border-bottom:2px solid #2e2e2e;display:flex;align-items:flex-start;justify-content:space-between;padding:.75rem 1rem}.vehicle-card-identity{display:flex;flex-direction:column;gap:.15rem}.vehicle-card-name{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1.2rem;color:#eee;line-height:1}.vehicle-card-type{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.vehicle-card-cans{display:flex;flex-direction:column;align-items:flex-end}.cans-value{font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:1.5rem;color:#e85d04;line-height:1}.cans-label{font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:.1em}.weight-badge{display:flex;align-items:center;gap:.35rem;padding:.25rem 1rem;font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.weight--light{background:#1a2420;color:#4ade80}.weight--mid{background:#1e1e14;color:#facc15}.weight--heavy{background:#1f1414;color:#f87171}.weight-icon{font-size:.6rem}.vehicle-stats{display:flex;padding:.6rem 1rem;gap:.5rem;border-bottom:1px solid #2a2a2a}.stat-box{flex:1;display:flex;flex-direction:column;align-items:center;background:#111;border-radius:3px;padding:.3rem .2rem}.stat-value{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1.1rem;color:#ddd;line-height:1}.stat-label{font-size:.6rem;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem}.vehicle-specials{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem 1rem;border-bottom:1px solid #2a2a2a}.special-tag{background:#222;border:1px solid #3a3a3a;border-radius:2px;color:#aaa;font-size:.7rem;padding:.15rem .4rem;font-style:italic}.vehicle-section{padding:.5rem 1rem;border-bottom:1px solid #2a2a2a}.vehicle-section:last-of-type{border-bottom:none}.vehicle-section-label{font-family:Barlow Condensed,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#555;margin-bottom:.4rem}.weapon-pips{display:flex;flex-direction:column;gap:.3rem}.weapon-pip{display:flex;align-items:baseline;justify-content:space-between;padding:.3rem .5rem;border-radius:3px;border-left:3px solid}.weapon-pip--mounted{background:#e85d0414;border-left-color:#e85d04}.weapon-pip--crew{background:#6366f114;border-left-color:#818cf8}.weapon-pip-name{font-size:.82rem;color:#ddd;font-weight:600}.weapon-pip-stats{font-size:.7rem;color:#777}.tag-list{display:flex;flex-wrap:wrap;gap:.35rem}.upgrade-tag{background:#facc1514;border:1px solid rgba(250,204,21,.25);border-radius:2px;color:#d4a800;font-size:.75rem;padding:.15rem .45rem}.perk-tag{background:#4ade8014;border:1px solid rgba(74,222,128,.2);border-radius:2px;color:#3dba6c;font-size:.75rem;padding:.15rem .45rem}.vehicle-card-actions{display:flex;gap:.5rem;padding:.6rem 1rem;border-top:1px solid #2a2a2a;background:#161616}.vc-btn{border:none;border-radius:3px;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.08em;padding:.3rem .7rem;text-transform:uppercase;transition:background .15s}.vc-btn--edit{background:#2a2a2a;color:#aaa}.vc-btn--edit:hover{background:#333;color:#eee}.vc-btn--delete{background:transparent;border:1px solid #3a3a3a;color:#666;margin-left:auto}.vc-btn--delete:hover{background:#dc26261a;border-color:#dc2626;color:#f87171}.editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:1.5rem 1rem;overflow-y:auto}.editor-modal{background:#1a1a1a;border:1px solid #444;border-top:3px solid #e85d04;border-radius:4px;width:100%;max-width:680px;display:flex;flex-direction:column;max-height:calc(100vh - 3rem)}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #333;background:#222}.editor-header h2{margin:0;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:.05em;text-transform:uppercase;color:#eee}.editor-cans{display:flex;align-items:baseline;gap:.3rem}.editor-cans-value{font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:2rem;color:#e85d04;line-height:1}.editor-cans-label{font-size:.75rem;color:#666;text-transform:uppercase}.editor-body{overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1.25rem}.editor-field>label{display:block;font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#666;margin-bottom:.5rem}.editor-input{background:#111;border:1px solid #444;border-radius:3px;color:#eee;font-family:Barlow,sans-serif;font-size:1rem;padding:.5rem .75rem;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s}.editor-input:focus{border-color:#e85d04}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.4rem}.type-btn{background:#111;border:1px solid #333;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:.45rem .65rem;transition:background .1s,border-color .1s;text-align:left}.type-btn:hover{background:#1f1f1f;border-color:#555}.type-btn--selected{background:#e85d041f;border-color:#e85d04}.type-btn--advanced{border-style:dashed}.type-btn-name{font-size:.82rem;color:#ccc;font-weight:500}.type-btn--selected .type-btn-name{color:#eee}.type-btn-cost{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.82rem;color:#e85d04;margin-left:.3rem;white-space:nowrap}.vt-summary{display:flex;flex-wrap:wrap;gap:.4rem;background:#111;border-radius:3px;padding:.5rem .75rem;font-size:.8rem;color:#888}.vt-summary span{white-space:nowrap}.weight-chip{font-weight:600;border-radius:2px;padding:0 .3rem}.weight-chip--lightweight{color:#4ade80}.weight-chip--middleweight{color:#facc15}.weight-chip--heavyweight{color:#f87171}.over-slots{color:#f87171;font-size:.65rem;margin-left:.5rem;font-weight:700;letter-spacing:.1em}.weapon-category{margin-bottom:.75rem}.weapon-category:last-child{margin-bottom:0}.weapon-category-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#555;margin-bottom:.4rem;padding-bottom:.2rem;border-bottom:1px solid #2a2a2a}.sponsor-class{color:#e85d04}.sponsor-hint{font-weight:400;color:#555;font-size:.65rem;letter-spacing:normal;text-transform:none;margin-left:.5rem}.checkbox-grid{display:flex;flex-direction:column;gap:.25rem}.check-item{display:flex;align-items:baseline;gap:.5rem;background:#111;border:1px solid transparent;border-radius:3px;cursor:pointer;padding:.35rem .6rem;transition:background .1s,border-color .1s}.check-item:hover{background:#1a1a1a;border-color:#333}.check-item--checked{background:#e85d0414;border-color:#e85d0440}.check-item input[type=checkbox]{flex-shrink:0;accent-color:#e85d04}.qty-ctrl{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.qty-btn{background:#2a2a2a;border:1px solid #444;border-radius:3px;color:#aaa;cursor:pointer;font-size:.9rem;font-weight:700;line-height:1;padding:.1rem .35rem;transition:background .1s,color .1s}.qty-btn:hover:not(:disabled){background:#e85d04;border-color:#e85d04;color:#fff}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-value{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.9rem;color:#e85d04;min-width:1rem;text-align:center}.check-name{font-size:.85rem;color:#ccc;font-weight:500;flex:1}.check-item--checked .check-name{color:#eee}.check-detail{font-size:.7rem;color:#666;flex:1}.check-detail--special{font-style:italic}.check-cost{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.8rem;color:#e85d04;white-space:nowrap}.editor-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:.75rem 1.25rem;border-top:1px solid #333;background:#161616}.editor-btn{border:none;border-radius:3px;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.1em;padding:.6rem 1.25rem;text-transform:uppercase;transition:background .15s,opacity .15s}.editor-btn:disabled{opacity:.4;cursor:not-allowed}.editor-btn--cancel{background:transparent;border:1px solid #444;color:#888}.editor-btn--cancel:hover{background:#222;color:#ccc}.editor-btn--save{background:#e85d04;color:#fff}.editor-btn--save:hover:not(:disabled){background:#ff6d1f}.builder-page{min-height:100vh;background:#0d0d0d;color:#eee;font-family:Barlow,sans-serif;display:flex;flex-direction:column}.builder-header{background:#111;border-bottom:2px solid #e85d04;padding:.75rem 1.25rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;position:sticky;top:0;z-index:10}.back-btn{background:transparent;border:1px solid #444;border-radius:3px;color:#888;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.05em;padding:.4rem .75rem;text-transform:uppercase;transition:color .15s,border-color .15s;white-space:nowrap}.builder-fleet-info{display:flex;align-items:center;gap:.75rem;flex:1}.fleet-name-btn{background:transparent;border:none;color:#eee;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:1.4rem;font-weight:700;padding:0;letter-spacing:.03em;border-bottom:1px dashed #444;transition:border-color .15s}.fleet-name-btn:hover{border-color:#e85d04;color:#fff}.name-edit-form{display:flex}.name-edit-input{background:#1a1a1a;border:1px solid #e85d04;border-radius:3px;color:#eee;font-family:Barlow Condensed,sans-serif;font-size:1.4rem;font-weight:700;outline:none;padding:.1rem .4rem}.sponsor-select{background:#1a1a1a;border:1px solid #333;border-radius:3px;color:#aaa;font-family:Barlow,sans-serif;font-size:.85rem;outline:none;padding:.3rem .5rem;cursor:pointer;transition:border-color .15s}.sponsor-select:focus,.sponsor-select:hover{border-color:#555}.cans-meter{display:flex;flex-direction:column;gap:.25rem;min-width:160px}.cans-meter-track{height:6px;background:#222;border-radius:3px;overflow:hidden}.cans-meter-fill{height:100%;background:#e85d04;border-radius:3px;transition:width .3s}.cans-meter--over .cans-meter-fill{background:#dc2626}.cans-meter-label{display:flex;align-items:baseline;font-size:.8rem}.cans-total{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1rem;color:#e85d04}.cans-total--over{color:#f87171}.cans-sep{color:#555;margin:0 .1rem}.cans-budget{color:#666;font-size:.75rem}.builder-add-btn{background:#e85d04;border:none;border-radius:3px;color:#fff;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.1em;padding:.5rem 1rem;text-transform:uppercase;transition:background .15s;white-space:nowrap}.builder-add-btn:hover:not(:disabled){background:#ff6d1f}.builder-add-btn:disabled{opacity:.5;cursor:not-allowed}.sponsor-banner{background:#e85d0412;border-bottom:1px solid rgba(232,93,4,.2);display:flex;align-items:center;gap:1rem;padding:.5rem 1.25rem;flex-wrap:wrap}.sponsor-name{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.9rem;color:#e85d04;letter-spacing:.05em;text-transform:uppercase}.sponsor-classes{font-size:.8rem;color:#888}.sponsor-special{font-size:.78rem;color:#666;font-style:italic}.builder-main{flex:1;padding:1.5rem}.builder-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:40vh;color:#555;font-size:.95rem;text-align:center}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.btn{border:none;border-radius:3px;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-weight:700;letter-spacing:.08em;padding:.5rem 1rem;text-transform:uppercase;transition:background .15s;font-size:.9rem}.btn--primary{background:#e85d04;color:#fff}.btn--primary:hover{background:#ff6d1f}.admin-page{min-height:100vh;background:#0d0d0d;color:#eee;font-family:Barlow,sans-serif}.admin-header{background:#111;border-bottom:2px solid #e85d04;padding:.75rem 1.25rem;display:flex;align-items:center;gap:1rem}.admin-title{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;color:#ddd}.admin-main{max-width:560px;margin:2rem auto;padding:0 1.25rem}.admin-desc{color:#888;font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.add-form{display:flex;gap:.5rem;margin-bottom:.5rem}.add-input{flex:1;background:#1a1a1a;border:1px solid #444;border-radius:3px;color:#eee;font-family:Barlow,sans-serif;font-size:.95rem;outline:none;padding:.55rem .75rem;transition:border-color .15s}.add-input:focus{border-color:#e85d04}.add-btn{background:#e85d04;border:none;border-radius:3px;color:#fff;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.08em;padding:.55rem 1.1rem;text-transform:uppercase;transition:background .15s;white-space:nowrap}.add-btn:hover:not(:disabled){background:#ff6d1f}.add-btn:disabled{opacity:.5;cursor:not-allowed}.admin-error{background:#dc262626;border:1px solid rgba(220,38,38,.4);border-radius:3px;color:#f87171;font-size:.85rem;margin-bottom:1rem;padding:.5rem .75rem}.allowed-list{margin-top:1.25rem;display:flex;flex-direction:column;gap:.4rem}.allowed-empty{color:#555;font-size:.9rem;padding:1.5rem;text-align:center;border:1px dashed #2a2a2a;border-radius:3px}.allowed-row{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:3px;display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem}.allowed-email{flex:1;font-size:.9rem;color:#ddd}.allowed-meta{font-size:.75rem;color:#555;white-space:nowrap}.remove-btn{background:transparent;border:1px solid #3a3a3a;border-radius:3px;color:#666;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.2rem .5rem;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s}.remove-btn:hover{background:#dc26261a;border-color:#dc2626;color:#f87171}.back-btn{background:transparent;border:1px solid #444;border-radius:3px;color:#888;cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.05em;padding:.4rem .75rem;text-transform:uppercase;transition:color .15s,border-color .15s}.back-btn:hover{color:#ccc;border-color:#666}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:#0d0d0d;color:#eee;font-family:Barlow,sans-serif;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#111}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}a{color:#e85d04;text-decoration:none}a:hover{text-decoration:underline}input,select,button,textarea{font-family:inherit}
