/* Deliberate type scale, without browser zoom. */
:root{font-size:15px}body{font-size:15px}.sidebar{padding:18px 12px}.shell{grid-template-columns:245px minmax(0,1fr)}.nav button{font-size:15px;padding:9px 10px}.nav-group{font-size:12px}.brand-caption{font-size:12px}.header-heading h1{font-size:23px}.header-heading small{font-size:12px}.top-actions,.top-actions button,.identity{font-size:13px}.identity small{font-size:12px}.filters input,.filters select,.filters button,.filters label{font-size:14px}.filters input,.filters select{height:40px}.section-head h2{font-size:20px}table{font-size:14px}thead th{font-size:14px;font-weight:600}td{font-size:14px}.cell-actions button,.badge{font-size:12px}.form-grid .field,.form-grid input,.form-grid select,.form-grid textarea{font-size:15px}.dialog-head h2{font-size:22px}.card-top{font-size:14px}.card-caption,.small,.notice,.empty{font-size:13px}.card{text-align:start;cursor:pointer}.card:hover{box-shadow:0 5px 20px #123e4215;transform:translateY(-2px)}.card:focus-visible{outline:3px solid #25857b;outline-offset:3px}.dashboard-intro h2{font-size:22px}.dashboard-intro p{font-size:14px}.quick-action,.inventory-tools button,.inventory-tools .button,.upload-label{font-size:14px}.inventory-line-info{font-size:13px}.active-filter{display:flex;align-items:center;gap:12px;flex-basis:100%;padding:9px 12px;background:#e9f4ef;border-radius:7px;color:#185e54}.active-filter button{margin-inline-start:auto}.button{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);text-decoration:none}.material-tools{margin-bottom:18px;flex-wrap:wrap}
.batch-lines{display:grid;gap:14px}.batch-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(110px,1fr) auto;gap:12px;border:1px solid #dbe5e2;border-radius:10px;padding:18px;background:#fafcfb}.batch-line .field{min-width:0}.batch-line select,.batch-line input{width:100%;min-width:0}.movement-line{grid-template-columns:minmax(0,2fr) minmax(110px,1fr) auto}.line-specific{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.remove-row{grid-column:3;grid-row:1;align-self:end;color:#923f39}.add-line{border-style:dashed;padding:13px;background:#f4f9f6;color:#196759}.form-footer{gap:12px}.trace-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.trace-filters .field{min-width:0}.derived-unit{align-self:center}.report-links{margin-bottom:18px}
/* Real split layout. The reference screenshot is never loaded as an asset. */
.auth-wrap{display:grid;grid-template-columns:61.3% 38.7%;min-height:calc(100svh - 34px);direction:ltr;background:#f8fafc}
.auth-aside{min-height:calc(100svh - 34px);padding:clamp(30px,4vw,68px);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:35px;overflow:hidden;background:linear-gradient(90deg,#002c38f5 0%,#002c38d9 39%,#002c3830 100%),linear-gradient(0deg,#002735 0%,#00273500 62%),url("/static/assets/riyadh-hero-v2.aa7820e71578.png") 68% center/cover;direction:ltr;isolation:isolate}
.auth-aside:before,.auth-aside:after{content:"";position:absolute;pointer-events:none;z-index:-1;transform:rotate(-45deg);border-right:2px solid #d7a14c;background:#0b4d5833;width:70%;height:150%;left:-55%;top:10%}.auth-aside:after{transform:rotate(-45deg);left:64%;top:55%;background:#002c38bd;border-right:0;border-left:2px solid #d7a14c}
.hero-brand{width:clamp(230px,25vw,350px);max-width:72%;text-align:center;position:relative}.hero-brand .login-logo{background:#fffffff0;border-radius:9px;padding:9px 14px;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;box-sizing:border-box}.login-company{display:flex;flex-direction:column;text-align:center;gap:3px;margin-top:10px}.login-company strong{font-size:clamp(18px,1.5vw,24px);font-weight:700}.login-company span{font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(12px,1.15vw,18px)}
.auth-story{max-width:720px;width:83%;text-shadow:0 2px 8px #002b3560}.gold-rule{width:86px;height:2px;background:#e6b34d;margin-bottom:25px}.auth-aside h1{font-size:clamp(28px,2.8vw,46px);line-height:1.45;max-width:none;margin:0 0 8px;text-align:start}.auth-aside .hero-secondary{font-size:clamp(19px,1.65vw,29px);font-weight:600;color:#f8fafb;line-height:1.5;margin:0 0 20px;text-align:start}.auth-subtitle{font-size:clamp(16px,1.4vw,23px);line-height:1.7;max-width:none;margin:0;color:white;text-align:start}.hero-subtitle-secondary{font-size:clamp(12px,1vw,17px);line-height:1.6;margin:5px 0 20px;color:#dce9ec;text-align:start}.login-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;direction:ltr;margin-top:25px}.login-feature{padding:18px 11px 14px;border:1px solid #25808b77;border-radius:11px;background:linear-gradient(125deg,#07515c77,#002b3488);backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;min-width:0}.login-feature svg{width:49px;height:49px;color:#edb64d;margin-bottom:1px}.login-feature strong{font-size:clamp(15px,1.2vw,21px);line-height:1.45}.login-feature span{font-size:clamp(11px,.9vw,15px);line-height:1.4}.login-feature i{height:2px;width:32px;background:#e6af3e;margin-top:auto}.hero-footer{display:flex;flex-direction:column;gap:6px;font-family:"Segoe UI",Arial,sans-serif;font-size:14px;color:#f4f8f9}.hero-footer span{font-size:12px;color:#dce6ea}
.auth-main{padding:100px clamp(24px,3.6vw,62px) 70px;position:relative;background:linear-gradient(135deg,#ffffff 0%,#f7f9fc 73%,#eef3f7 100%);direction:rtl;min-width:0}.auth-main:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(133deg,transparent 70%,#fff9 70.2%,transparent 71.7%)}.auth-box{max-width:510px;width:100%;padding:35px clamp(24px,2.4vw,40px) 40px;border:1px solid #e7ebef;border-radius:16px;background:#fffefa;box-shadow:0 20px 55px #1e3f560a;position:relative;z-index:1}.auth-box .brand{display:flex;align-items:center;border:0;padding:0;margin:0 0 25px}.auth-box .login-logo{width:100%;max-width:305px;height:auto;aspect-ratio:3/1;object-fit:contain}.auth-box .login-company{color:#07343e}.auth-box .login-company strong{font-size:22px}.auth-box .login-company span{font-size:15px}.auth-box h2{font-size:30px;margin:28px 0;color:#07343e}.login-form .field{font-size:14px;margin-bottom:17px}.login-form input{height:54px;background:#fff;border:1px solid #dce4eb;border-radius:9px;font-size:16px;padding:12px 14px;box-shadow:0 0 0 1px #f4f6f8}.login-form .password-toggle{bottom:13px}.login-form .password-toggle .nav-icon{width:22px;height:22px}.login-submit{font-size:20px;background:#003c44;border:1px solid #00383f;height:56px;margin-top:7px;box-shadow:0 2px 5px #003c4420}.login-submit:hover{background:#07565c}.login-language{position:absolute;top:30px;right:clamp(24px,3.6vw,62px);border:1px solid #e0e8ed;border-radius:35px;display:flex;direction:ltr;padding:5px;background:#ffffffc9;z-index:2}.login-language button{font-size:15px;min-width:95px;border:0;border-radius:25px;padding:11px 16px;background:transparent}.login-language button.selected{background:#00343f;color:#fff;font-weight:700}.form-error{white-space:normal}
.login-form .field{margin-bottom:0}.login-form{gap:15px}.auth-aside .auth-subtitle{max-width:none;color:#fff}.auth-box .login-company{margin-top:0}.auth-box .brand{gap:0}
@media(min-width:801px) and (max-height:820px){.auth-aside{padding-top:30px;padding-bottom:28px;gap:20px}.hero-brand{width:260px}.hero-brand .login-logo{padding:7px 12px}.auth-main{padding-top:82px;padding-bottom:25px}.auth-box{padding:23px 28px 28px}.auth-box .login-logo{max-width:250px}.auth-box .brand{margin-bottom:13px}.auth-box h2{margin:18px 0;font-size:27px}.auth-box .login-company strong{font-size:20px}.login-form input{height:48px}.login-submit{height:48px;font-size:18px}.auth-aside h1{font-size:32px}.auth-story{width:87%}.gold-rule{margin-bottom:18px}.login-feature{padding:12px 8px}.login-feature svg{height:40px;width:40px}.login-features{margin-top:18px}.hero-footer{font-size:12px}.hero-footer span{font-size:11px}}
@media(min-width:1500px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card-top{flex-direction:row;min-height:30px}}
@media(max-width:1150px){.auth-wrap{grid-template-columns:57% 43%}.auth-aside{padding:35px 30px;gap:35px}.auth-story{width:100%}.auth-main{padding:90px 24px 40px}.auth-box{padding:28px 24px}.auth-box h2{font-size:25px}.auth-box .login-company strong{font-size:20px}.login-features{gap:10px}.login-feature{padding:14px 7px}.shell{grid-template-columns:225px minmax(0,1fr)}.top-actions button{font-size:13px}}
@media(max-width:800px){.auth-wrap{display:flex;flex-direction:column}.auth-main{order:0;padding:85px 22px 35px}.auth-aside{order:1;min-height:640px;gap:30px;background-position:70% center}.auth-box{max-width:470px}.auth-story{max-width:620px;width:85%}.hero-brand{width:260px}.auth-aside h1{font-size:32px}.login-feature strong{font-size:17px}.login-feature span{font-size:13px}.login-language{top:20px;right:22px}.shell{display:block}.sidebar{height:auto;position:static}.sidebar .brand{display:flex;margin-bottom:8px}.sidebar .brand img{width:160px}.sidebar .nav button{font-size:14px;padding:8px}.header-heading h1{font-size:22px}.main{padding:14px}.section-head h2{font-size:20px}.trace-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.auth-main{padding:80px 14px 24px}.auth-box{padding:26px 22px 30px}.auth-aside{padding:32px 22px;min-height:625px}.auth-story{width:100%}.auth-aside h1{font-size:28px}.auth-aside .hero-secondary{font-size:18px}.auth-subtitle{font-size:17px}.hero-brand{max-width:76%}.login-features{gap:8px}.login-feature strong{font-size:14px}.login-feature span{font-size:11px}.login-feature svg{width:38px;height:38px}.login-feature{padding:14px 5px}.batch-line,.movement-line{grid-template-columns:minmax(0,1fr) 90px}.batch-line>.field:first-child{grid-column:1/-1}.remove-row{grid-column:2;grid-row:2}.line-specific{grid-template-columns:minmax(0,1fr)}.form-grid{grid-template-columns:minmax(0,1fr)}.trace-filters{grid-template-columns:minmax(0,1fr)}.card-top{font-size:13px}.staging-banner{font-size:10px}.top-actions button{font-size:12px}.section-head{flex-wrap:wrap;gap:12px}}
