
:root{--navy:#0b2344;--orange:#ff5a00;--bg:#f6f8fb;--text:#122039;--muted:#728097;--line:#dfe5ee;--blue:#1769e8;--green:#169654;--red:#d9363e;--yellow:#fff7cc}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--blue);text-decoration:none}.auth-bg{min-height:100vh;background:linear-gradient(135deg,#f7f9fc,#edf3fa)}
.auth-wrap{max-width:1100px;margin:0 auto;padding:34px 20px}.auth-wrap.wide{max-width:1000px}
.brandline{display:flex;gap:12px;align-items:center;margin-bottom:20px}.brandline strong{font-size:25px}.brandline span:last-child{color:#7e8ba0;font-size:12px}
.brandmark{width:38px;height:38px;background:var(--orange);border-radius:9px;color:#fff;display:grid;place-items:center;font-weight:900}
.panel,.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px rgba(17,37,68,.05);padding:22px}
h1,h2,h3{margin-top:0}.muted{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:13px 0 20px}.span2{grid-column:span 2}
label{font-size:12px;font-weight:700;display:block}input,select,textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:11px;font:inherit;background:#fff}
textarea{min-height:84px;resize:vertical}small{display:block;color:var(--muted);margin-top:4px}.primary,.secondary,.danger,.btn{display:inline-block;border:0;border-radius:8px;padding:11px 16px;font-weight:800;cursor:pointer}.primary{background:var(--orange);color:#fff}.secondary{background:#eef3fa;color:#24405f}.danger{background:#fff0f1;color:#c72e36;border:1px solid #f3c8cb}
.alert{padding:11px 13px;border-radius:9px;margin:12px 0;font-size:13px}.alert.danger{background:#fff0f1;color:#b52b34}.alert.info{background:#edf5ff;color:#245b9e}.alert.success{background:#eaf7ef;color:#11723e}.alert.warn{background:#fff6e7;color:#8b5700}
.app{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.side{background:linear-gradient(180deg,var(--navy),#071a33);color:#fff;padding:22px 14px}.brand{font-size:23px;font-weight:900;margin:0 8px 24px;display:flex;gap:10px;align-items:center}.nav a{display:flex;color:#eaf0f7;padding:11px 13px;border-radius:8px;margin:4px 0;align-items:center;gap:9px}.nav a.active,.nav a:hover{background:var(--orange)}.navicon{display:none}.section{color:#8fa7c3;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin:20px 13px 7px}.main{padding:24px 28px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.top h1{margin:0}.pill{display:inline-block;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:800}.green{background:#e8f7ef;color:#138048}.orange{background:#fff2df;color:#ad6500}.red{background:#fdebed;color:#c62e38}.blue{background:#eaf2ff;color:#235fd0}.gray{background:#eef1f5;color:#667386}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
table{width:100%;border-collapse:collapse;font-size:13px}th{background:#f2f5f9;text-align:left;color:#4c5e76;font-size:11px;text-transform:uppercase;padding:11px}td{padding:12px 11px;border-bottom:1px solid #edf0f4;vertical-align:top}
.po{font-weight:900;color:#1769e8}.buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.kv{display:grid;grid-template-columns:160px 1fr;gap:9px;font-size:13px}.kv div:nth-child(odd){color:var(--muted)}
.login-card{max-width:540px;margin:60px auto}.account-form h3{border-bottom:1px solid #edf0f4;padding-bottom:8px;margin-top:22px}.checkline{display:flex;gap:9px;align-items:flex-start;font-weight:500}.checkline input{width:auto;margin-top:2px}
.right-benefits{background:#f5f9ff;border:1px solid #dae7f8;border-radius:14px;padding:22px}.benefit{padding:13px 0;border-bottom:1px solid #e4ebf4}.benefit:last-child{border:0}
.footer{margin-top:30px;text-align:center;color:#8290a3;font-size:11px}
.stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.step{display:flex;align-items:center;gap:8px;color:#8a98ac;font-size:12px}.step span{width:28px;height:28px;border-radius:50%;background:#e7ecf2;display:grid;place-items:center;font-weight:900}.step.active{color:var(--orange)}.step.active span{background:var(--orange);color:#fff}.step.done{color:var(--green)}.step.done span{background:#dff4e8;color:var(--green)}
.progress{height:6px;background:#e8edf3;border-radius:20px;overflow:hidden}.progress i{display:block;height:100%;background:var(--orange)}.progress-note{text-align:right;color:var(--muted);font-size:11px;margin:5px 0 18px}
.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.summary{position:sticky;top:18px;height:max-content}.summary h3{background:var(--navy);color:#fff;margin:-22px -22px 16px;padding:16px 20px;border-radius:14px 14px 0 0}.summary-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #edf0f4;font-size:13px}.summary-row span{color:var(--muted)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.choice{border:2px solid var(--line);border-radius:12px;padding:18px;cursor:pointer}.choice:has(input:checked){border-color:var(--orange);background:#fff8f3}.choice input{width:auto;margin:0 8px 0 0}
.item-card{border:1px solid var(--line);border-radius:13px;padding:18px;margin:12px 0;background:#fff}.item-head{display:flex;justify-content:space-between;align-items:center}.letter{width:34px;height:34px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}
.size-grid{display:grid;grid-template-columns:repeat(8,minmax(55px,1fr));gap:7px}.size-grid label{font-size:10px;text-align:center}.size-grid input{text-align:center;padding:8px 4px}
.file-chip{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;margin:7px 0;background:#fafbfd}.methods{display:flex;flex-wrap:wrap;gap:8px}.method{display:flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-weight:700;font-size:12px}.method input{width:auto;margin:0}
.review-card{border:1px solid var(--line);border-radius:12px;margin:12px 0;overflow:hidden}.review-head{background:#f5f7fa;padding:12px 15px;display:flex;justify-content:space-between}.review-body{padding:15px}.confirm-box{border:2px solid #f2c663;background:#fff9df;padding:18px;border-radius:12px}
@media(max-width:1050px){.order-layout{grid-template-columns:1fr}.summary{position:static}.size-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:900px){.app{grid-template-columns:76px 1fr}.labeltxt,.section{display:none}.navicon{display:inline}.grid2,.grid3,.form-grid,.choice-grid{grid-template-columns:1fr}.span2{grid-column:auto}.main{padding:18px}.nav a{justify-content:center}.step b{display:none}.size-grid{grid-template-columns:repeat(4,1fr)}}


/* Build 087 — OPT / Order Portal Technologies dashboard brand. */
.brand.opt-brand{display:block;margin:0 4px 22px;padding:7px 6px;background:#fff;border:1px solid rgba(255,255,255,.28);border-radius:10px;overflow:hidden;line-height:0}
.opt-logo-full{display:block;width:100%;height:auto;max-height:50px;object-fit:contain}
.opt-logo-mark{display:none;width:48px;height:38px;object-fit:contain;margin:auto}
@media(max-width:900px){.brand.opt-brand{margin:0 0 18px;padding:6px 3px}.opt-logo-full{display:none}.opt-logo-mark{display:block}}


/* OPT Build 100 R28.40 — Native Owner category flyouts; shared sidebar clipping is overridden in portal-shell-fix.css. */
.side{position:relative;z-index:45;overflow:visible}
.nav{position:relative;overflow:visible}
.nav-flyout-group{position:relative;margin:4px 0}
.nav-flyout-trigger{width:100%;border:0;background:transparent;color:#eaf0f7;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 13px;border-radius:8px;font:inherit;font-size:16px;line-height:1.2;text-align:left;cursor:pointer;list-style:none;user-select:none}
.nav-flyout-trigger::-webkit-details-marker{display:none}
.nav-flyout-trigger::marker{display:none;content:""}
.nav-flyout-trigger:hover,.nav-flyout-group[open]>.nav-flyout-trigger,.nav-flyout-group.active-group>.nav-flyout-trigger{background:var(--orange);color:#fff}
.nav-flyout-trigger:focus-visible{outline:2px solid #fff;outline-offset:2px}
.nav-flyout-chevron{display:inline-block;margin-left:auto;font-size:20px;line-height:1;color:#dbe7f5;transition:transform .15s ease}
.nav-flyout-group[open] .nav-flyout-chevron{transform:translateX(2px)}
.nav-flyout-menu{position:absolute;left:calc(100% + 14px);top:-4px;width:245px;max-height:calc(100vh - 24px);overflow-y:auto;padding:8px;background:linear-gradient(180deg,#0b2344,#071a33);border:1px solid rgba(255,255,255,.16);border-radius:10px;box-shadow:0 12px 30px rgba(4,19,39,.26);z-index:1000}
.nav-flyout-menu a{display:flex;color:#eaf0f7;padding:11px 13px;border-radius:8px;margin:2px 0;align-items:center;gap:9px;font-size:15px;line-height:1.2;white-space:nowrap}
.nav-flyout-menu a:hover,.nav-flyout-menu a.active{background:var(--orange);color:#fff}
@media(max-width:900px){
 .nav-flyout-trigger{justify-content:center;padding:11px 7px}.nav-flyout-trigger .labeltxt,.nav-flyout-chevron{display:none}.nav-flyout-trigger .navicon{display:inline}
 .nav-flyout-menu{left:calc(100% + 14px);width:225px}.nav-flyout-menu .labeltxt{display:inline}.nav-flyout-menu .navicon{display:none}.nav-flyout-menu a{justify-content:flex-start}
}

/* OPT Build 100 R28.51 — shared header updated to use the approved centered animated DTI logo on light backgrounds while preserving the approved login experience. */
body.opt-login-page{
 min-height:100vh;
 margin:0;
 padding:24px 24px 32px;
 overflow:auto;
 color:#eef4fb;
 background:
  radial-gradient(circle at 50% 35%,rgba(16,38,59,.96) 0%,rgba(9,21,33,.76) 34%,rgba(8,18,29,0) 62%),
  linear-gradient(180deg,#08121d 0%,#091521 100%);
}
.opt-login-stage{
 min-height:calc(100vh - 56px);
 width:100%;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:0;
}
.opt-login-animation{
 width:620px;
 max-width:calc(100vw - 32px);
 aspect-ratio:1171/977;
 margin:0 auto -20px;
 overflow:hidden;
 pointer-events:none;
}
.opt-login-animation iframe{
 display:block;
 width:100%;
 height:100%;
 border:0;
 background:transparent;
}
.opt-login-glass{
 position:relative;
 z-index:2;
 width:390px;
 max-width:calc(100vw - 36px);
 padding:17px 18px 16px;
 border-radius:17px;
 background:rgba(255,255,255,.15);
 border:1px solid rgba(255,255,255,.18);
 box-shadow:0 16px 44px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08);
 backdrop-filter:blur(9px);
 -webkit-backdrop-filter:blur(9px);
}
.opt-login-glass .alert{margin:0 0 12px;font-size:12px;line-height:1.4;border:1px solid rgba(255,255,255,.12)}
.opt-login-glass .alert.info{background:rgba(52,103,164,.30);color:#dce9f9}
.opt-login-glass .alert.warn{background:rgba(117,77,10,.58);color:#fff2cf}
.opt-login-glass .alert.danger{background:rgba(151,43,52,.58);color:#ffe9eb}
.opt-login-glass .alert.success{background:rgba(17,114,62,.55);color:#e7fff0}
.opt-login-form{margin:0}
.opt-login-label{
 display:block;
 margin:0 0 11px;
 color:#f0f5fb;
 font-size:12px;
 font-weight:700;
}
.opt-login-input{
 display:block;
 width:100%;
 height:41px;
 margin-top:6px;
 padding:0 12px;
 border:1px solid rgba(255,255,255,.15);
 border-radius:8px;
 outline:none;
 background:rgba(7,18,30,.56);
 color:#fff;
 font-size:14px;
 box-shadow:none;
}
.opt-login-input::placeholder{color:#aeb9c8}
.opt-login-input:focus{border-color:rgba(98,169,255,.78);box-shadow:0 0 0 3px rgba(40,121,220,.16)}
.opt-login-links{display:flex;justify-content:flex-end;margin:-1px 1px 12px}
.opt-login-forgot{color:#62a9ff;font-size:12px;text-decoration:none}
.opt-login-forgot:hover{text-decoration:underline}
.opt-login-submit{
 width:100%;
 height:42px;
 padding:0 16px;
 border:0;
 border-radius:8px;
 background:#ff6500;
 color:#fff;
 font-size:16px;
 font-weight:800;
 cursor:pointer;
 box-shadow:0 7px 18px rgba(255,101,0,.14);
}
.opt-login-submit:hover{background:#ff741f}
.opt-login-submit:focus-visible{outline:2px solid #fff;outline-offset:2px}
.opt-login-register{margin-top:13px;text-align:center;font-size:12px}
.opt-login-register a{color:#dce9f9;text-decoration:none}
.opt-login-register a:hover{text-decoration:underline}
@media(max-height:820px){
 body.opt-login-page{padding-top:12px;padding-bottom:18px}
 .opt-login-stage{min-height:calc(100vh - 30px);justify-content:flex-start}
 .opt-login-animation{width:520px;margin-bottom:-16px}
}
@media(max-width:680px){
 body.opt-login-page{padding:12px}
 .opt-login-stage{min-height:calc(100vh - 24px)}
 .opt-login-animation{width:420px;max-width:100%;margin-bottom:-12px}
 .opt-login-glass{width:360px;max-width:calc(100vw - 24px)}
}
