:root{--navy:#142a42;--navy-dark:#0d1d30;--blue:#0a6ed1;--blue-dark:#085ead;--ink:#1d2d3e;--gray-700:#5b6b79;--gray-300:#d5dce2;--gray-100:#f4f6f8;--white:#fff;--radius:4px;--shadow:0 1px 2px rgba(20,30,45,.06),0 4px 12px rgba(20,30,45,.06)}*{box-sizing:border-box}body,html{margin:0;font-family:Arial,Helvetica,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--gray-100);color:var(--ink)}button{font-family:inherit}.page-loading{display:flex;align-items:center;justify-content:center;height:100vh}.muted,.page-loading{color:var(--gray-700)}.muted.small{font-size:.85rem}.eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;color:var(--blue);margin:0 0 4px}.brand-mark{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;color:inherit}.brand-dot{width:22px;height:22px;border-radius:3px;background:var(--blue);display:inline-flex;align-items:center;justify-content:center;color:var(--white);font-size:.75rem;font-weight:800}.brand-dot:before{content:"A"}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--navy);background-image:linear-gradient(180deg,var(--navy) 0,var(--navy-dark) 100%)}.auth-card{background:var(--white);border-radius:var(--radius);box-shadow:0 12px 32px rgba(0,0,0,.25);padding:40px;width:100%;max-width:400px}.auth-card .brand-mark,.auth-card h1{color:var(--ink)}.auth-card h1{margin:20px 0 4px;font-size:1.4rem}.field{display:block;margin:16px 0}.field span{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px;color:var(--ink)}.field input{width:100%;padding:9px 12px;border-radius:3px;border:1px solid var(--gray-300);font-size:.95rem}.field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,110,209,.15)}.hint{margin-top:20px;font-size:.8rem;color:var(--gray-700);text-align:center}.hint code{background:var(--gray-100);padding:2px 6px;border-radius:3px}.btn{border-radius:var(--radius);border:1px solid transparent;padding:9px 18px;font-weight:600;font-size:.88rem;cursor:pointer;transition:background-color .12s ease}.btn:disabled{cursor:default;opacity:.6}.btn-primary{background:var(--blue);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--blue-dark)}.btn-block{width:100%;margin-top:8px}.btn-lg{padding:12px 26px;font-size:.95rem}.btn-ghost{background:transparent;border-color:var(--gray-300);color:var(--white)}.btn-ghost:hover{background:hsla(0,0%,100%,.1)}.alert{padding:10px 14px;border-radius:3px;font-size:.85rem;margin:12px 0}.alert-error{background:#fdecec;color:#a4262c;border:1px solid #f3c6c6}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--navy);color:var(--white);border-bottom:3px solid var(--blue);padding:12px 24px;justify-content:space-between}.topbar,.topbar-actions{display:flex;align-items:center}.topbar-actions{gap:16px}.topbar .muted{color:#b9c4cf}.body-layout{display:flex;flex:1 1}.sidebar{width:220px;flex-shrink:0;background:var(--white);border-right:1px solid var(--gray-300);padding:20px 0}.sidebar-item{padding:10px 24px;font-size:.9rem;color:var(--gray-700);border-left:3px solid transparent;cursor:default}.sidebar-item.active{color:var(--blue);font-weight:700;border-left-color:var(--blue);background:#eaf3fc}.content{flex:1 1;max-width:1000px;margin:0 auto;padding:28px 32px;display:flex;flex-direction:column;gap:20px;width:100%}.panel{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.punchout-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-left:4px solid var(--blue)}.punchout-panel h2{margin:0 0 4px;color:var(--ink)}.table{margin-top:12px;border:1px solid var(--gray-300);border-radius:var(--radius);overflow:hidden}.table-row{display:grid;grid-template-columns:120px 1fr 220px;grid-gap:12px;gap:12px;padding:10px 16px;border-bottom:1px solid var(--gray-300);font-size:.88rem}.table-row:last-child{border-bottom:none}.table-head{background:var(--navy);color:var(--white);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}