:root{color:#182c3b;font-synthesis:none;--ink:#182c3b;--muted:#778896;--line:#e3eaf0;--brand:#176a88;--green:#287a64;background:#f4f7fa;font-family:Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:8px;transition:background .15s}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #80bdcc}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d7e1e8;border-radius:7px;min-width:0;padding:11px 12px}textarea{resize:vertical}label{color:#536a7a;margin-bottom:15px;font-size:12px;font-weight:600;display:block}label input,label select,label textarea{margin-top:7px;font-size:14px;font-weight:400;display:block}.primary{background:var(--brand);color:#fff;padding:12px 18px;font-weight:600;box-shadow:0 3px 7px #176a8820}.primary:hover{background:#125a75}.secondary{border:1px solid var(--line);color:#415d6d;background:#fff;padding:11px 16px;font-weight:600}.secondary:hover{background:#eef5f8}.danger{color:#a44;background:#fcf0ef;padding:11px 16px;font-weight:600}.small{white-space:nowrap;padding:8px 11px;font-size:12px}.full{width:100%}.brand-mark{color:#fff;background:#176a88;border-radius:12px;place-items:center;width:42px;height:42px;font-size:24px;font-weight:800;display:grid;box-shadow:0 4px 9px #176a8830}.login-page{grid-template-columns:minmax(340px,1fr) 440px;align-items:center;gap:80px;max-width:1160px;min-height:100vh;margin:auto;padding:55px;display:grid}.login-intro h1{letter-spacing:-2px;margin:25px 0;font-size:52px;line-height:1.15}.login-intro p{color:#677e8e;max-width:430px;font-size:17px;line-height:1.7}.login-intro small{color:#7a8f9c}.login-flow{align-items:center;gap:18px;margin:35px 0;font-size:15px;font-weight:700;display:flex}.login-flow span{color:#85b1c0}.login-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:36px;box-shadow:0 20px 60px #213b5210}.login-card h2{margin:24px 0 8px;font-size:26px}.login-card>p{color:var(--muted);margin-bottom:24px;font-size:14px;line-height:1.6}.hint{color:var(--muted);font-size:12px;line-height:1.6}.loading{justify-content:center;align-items:center;gap:18px;min-height:100vh;display:flex}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;width:248px;height:100vh;padding:24px 15px 16px;display:flex;position:sticky;top:0}.brand{text-align:left;color:var(--ink);background:0 0;align-items:center;gap:12px;padding:0 10px 25px;display:flex}.brand strong,.brand small{display:block}.brand strong{font-size:18px}.brand small{color:#8696a2;letter-spacing:1.4px;margin-top:5px;font-size:9px}.company-badge{background:#f4f8fa;border-radius:9px;margin-bottom:22px;padding:14px 12px}.company-badge span,.company-badge strong{display:block}.company-badge span{letter-spacing:1.3px;color:#8a9ba7;margin-bottom:6px;font-size:9px}.company-badge strong{color:#285269;font-size:14px}.sidebar nav{gap:5px;display:grid}.sidebar nav button{text-align:left;color:#6b7e8d;background:0 0;align-items:center;gap:12px;padding:13px 12px;font-size:13px;display:flex}.sidebar nav button.active{color:#176a88;background:#eaf4f7;font-weight:700}.sidebar nav button:hover{background:#f2f7f9}.nav-icon{min-width:20px;font-size:19px}.sidebar nav b{color:#956119;background:#ffedd1;border-radius:15px;margin-left:auto;padding:3px 6px;font-size:10px}.sidebar-bottom{margin-top:auto}.storage{color:#7a8e99;background:#f7fafb;align-items:center;gap:7px;margin:20px 3px;padding:13px 10px;font-size:10px;display:flex}.storage i{background:#3e9a79;border-radius:50%;width:6px;height:6px;display:block}.profile{text-align:left;border-top:1px solid var(--line);background:#fff;border-radius:0;align-items:center;gap:10px;width:100%;padding:16px 8px 0;display:flex}.profile strong,.profile small{display:block}.profile strong{color:#445a69;font-size:11px}.profile small{color:#8596a1;margin-top:4px;font-size:10px}.avatar{color:#6c5a95;background:#eeeaf8;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);color:#7f919c;background:#fff;justify-content:space-between;align-items:center;gap:20px;height:68px;padding:0 36px;font-size:12px;display:flex}.topbar strong{color:#425d6e}.separator{color:#b2bdc5;padding:0 11px}.topbar>div{align-items:center;gap:18px;display:flex}.company-top{color:#28566b;font-weight:600}.content{flex:1;width:100%;max-width:1600px;margin:auto;padding:35px 36px 45px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:1.7px;color:#7c929e;font-size:10px;font-weight:700}.page-heading h1{letter-spacing:-.8px;margin:12px 0 7px;font-size:32px}.page-heading p{color:#8495a1;margin:0;font-size:13px;line-height:1.5}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:27px;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.stats span,.stats strong,.stats small{display:block}.stats span{color:#718897;font-size:12px}.stats strong{color:#1d4156;margin:12px 0;font-size:30px}.stats small{color:#9caab4;font-size:10px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:20px;display:grid}.project-card,.work-card{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:0;padding:23px}.card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.code{letter-spacing:.6px;color:#176a88;font-size:11px;font-weight:700}.tag{color:#698592;background:#f1f6f8;border-radius:6px;padding:5px 8px;font-size:10px}.project-card h2,.work-card h2{letter-spacing:-.3px;overflow-wrap:anywhere;margin:18px 0 10px;font-size:20px}.project-card p,.work-card>p{color:#8195a2;font-size:13px;line-height:1.6}.project-card .client{color:#5e7888;font-weight:500}.description{overflow-wrap:anywhere;min-height:40px}.project-dates{color:#91a2ad;gap:13px;margin:20px 0;font-size:11px;display:flex}.project-dates span{color:#c2cbd1}.project-summary{border-top:1px solid var(--line);justify-content:space-between;padding:18px 0;font-size:12px;display:flex}.project-summary span{color:#8b9fa9}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.empty{text-align:center;color:#8b9faa;background:#fff;border:1px dashed #d8e2e9;border-radius:13px;grid-column:1/-1;padding:48px 25px}.empty>span{color:#83b0c0;font-size:35px}.empty h2,.empty h3{color:#496474;font-size:18px}.empty p{font-size:13px;line-height:1.6}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px;padding:20px;display:flex}.filters input{flex:1;min-width:180px}.filters select{width:auto;max-width:270px;font-size:12px}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th{text-align:left;letter-spacing:.8px;color:#8a9da9;background:#f7fafb;padding:16px;font-size:9px}td{color:#516c7c;border-bottom:1px solid #edf2f5;padding:18px 16px}td small{color:#96a6b0;margin-top:6px;font-size:10px;display:block}.text-button{color:#176a88;text-align:left;font-weight:700;font-size:inherit;background:0 0;padding:0}.text-button:hover{text-decoration:underline}.status{white-space:nowrap;color:#56788a;background:#edf3f6;border-radius:6px;padding:6px 8px;font-size:10px;display:inline-block}.status.submitted{color:#9e732b;background:#fff3df}.status.observed{color:#aa6a34;background:#fff0e5}.status.approved,.status.fulfilled{color:#3b8870;background:#e9f6f0}.status.partial_purchase,.status.awaiting_receipt{color:#5c7aa2;background:#eaf2fc}.status.partial_receipt{color:#448f96;background:#eaf7f8}.status.rejected,.status.cancelled{color:#ab6565;background:#fbecec}.urgent{color:#b76643;font-weight:600}.panel-foot{color:#8b9faa;padding:15px 20px;font-size:11px}.empty-cell{text-align:center;padding:35px}.split-grid{grid-template-columns:1fr 1fr;gap:25px;display:grid}.section-title{color:#476675;margin:0 0 18px;font-size:16px}.section-title span{background:#e9f0f4;border-radius:20px;margin-left:6px;padding:4px 7px;font-size:11px}.work-card{margin-bottom:16px}.work-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:20px;display:grid}.work-lines{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px;padding:10px 0}.work-lines>div{justify-content:space-between;gap:15px;padding:7px 0;font-size:12px;display:flex}.work-lines strong{font-weight:500}.work-lines span{color:#879ba8;white-space:nowrap}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.password-banner{color:#907744;background:#fffbef;border:1px solid #e9dfbd;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;padding:13px 16px;font-size:12px;display:flex}.error,.success{border-radius:8px;padding:13px 16px;font-size:13px;line-height:1.5}.error{color:#ac4c4c;background:#fceeee}.success{color:#397c60;background:#eaf7f0}footer{border-top:1px solid var(--line);color:#99aab5;padding:18px 36px;font-size:10px}footer span{float:right}dialog{border:1px solid var(--line);width:min(780px,100vw - 30px);max-height:90vh;color:var(--ink);border-radius:16px;padding:0;box-shadow:0 25px 90px #13253540}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#18304266}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:25px 27px;display:flex}.modal-header h2{margin:0;font-size:23px}.modal-header p{color:#8398a5;margin:8px 0 0;font-size:12px}.icon-button{color:#78909d;background:#f1f5f7;width:32px;height:32px;padding:0;font-size:24px}.modal-body{padding:25px 27px}.form-grid{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.full-field{grid-column:1/-1}.modal-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;display:flex}.line-heading{justify-content:space-between;align-items:center;margin:15px 0;display:flex}.line-heading h3,.modal-body h3{color:#526e7e;font-size:14px}.line-form{grid-template-columns:minmax(160px,2fr) 90px minmax(100px,1fr) 30px;align-items:center;gap:10px;display:grid}.line-form input,.line-form select{padding:10px 8px;font-size:12px}.remove{color:#b66f6f;background:#fbefef;height:34px;margin-top:7px;font-size:19px}.detail-grid{background:#f7fafc;border-radius:10px;grid-template-columns:1fr 1fr;gap:22px;padding:20px;display:grid}.detail-grid span,.quantity-grid span{color:#8d9fab;margin-bottom:7px;font-size:10px;display:block}.detail-grid strong{font-size:13px}.detail-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.detail-line{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:17px}.detail-line h4{margin:0 0 18px;font-size:13px}.detail-line h4 small{color:#93a5af;font-size:10px;font-weight:400}.detail-line p{color:#8397a4;font-size:12px}.quantity-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.quantity-grid strong{font-size:12px}.timeline{border-left:2px solid #d7e7ee;gap:18px;padding:12px 0 12px 18px;font-size:12px;display:flex}.timeline>span{color:#92a6b2;min-width:90px}.timeline strong{font-weight:600}.timeline p{color:#8196a3;margin:7px 0}.movement-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:12px 0;display:flex}.movement-line strong,.movement-line small{display:block}.movement-line strong{font-size:13px}.movement-line small{color:#8da0ac;margin-top:7px;font-size:11px}.movement-line label{flex-shrink:0;width:120px;margin:0}.modal-body>p{color:#768f9e;font-size:13px;line-height:1.6}@media (width<=1100px){.login-page{grid-template-columns:1fr 400px;gap:40px;padding:35px}.login-intro h1{font-size:42px}.sidebar{width:220px}.content{padding:28px 24px}.topbar{padding:0 24px}.stats{gap:12px}.stats article{padding:16px}.split-grid{gap:18px}}@media (width<=800px){.login-page{max-width:480px;padding:30px 20px;display:block}.login-intro{display:none}.sidebar{width:65px;padding:20px 7px}.brand{padding:0 4px 22px}.brand>span:last-child,.company-badge,.sidebar nav button>span:not(.nav-icon),.sidebar nav b,.storage,.profile>span:last-child{display:none}.sidebar nav button{justify-content:center;padding:13px 7px}.profile{padding-left:7px}.content{padding:25px 17px}.topbar{padding:0 17px}.topbar>span{display:none}.topbar>div{justify-content:space-between;width:100%}.page-heading{flex-direction:column;align-items:flex-start}.page-heading h1{font-size:28px}.stats{grid-template-columns:1fr 1fr}.split-grid,.project-grid,.work-grid,.catalog-grid{grid-template-columns:1fr}.password-banner{flex-direction:column;align-items:flex-start}.filters select{width:100%;max-width:none}.filters input{width:100%}footer{padding:15px 17px}footer span{float:none;margin-top:8px;display:block}.form-grid{grid-template-columns:1fr}.line-form{grid-template-columns:1fr 80px}.line-form label:nth-child(3){grid-column:1}.modal-header,.modal-body{padding:20px}.quantity-grid{grid-template-columns:1fr 1fr}.line-heading{gap:10px}.detail-grid{gap:15px}.timeline{flex-direction:column;gap:10px}.login-card{padding:28px}}.product-image{object-fit:contain;background:#f5f7fa;border-radius:10px;width:100%;height:160px;margin-bottom:16px}.product-image.placeholder{color:#8190a3;justify-content:center;align-items:center;display:flex}.product-preview{object-fit:contain;border:1px solid #dfe5ee;border-radius:10px;width:280px;max-width:100%;height:200px;margin-bottom:12px;display:block}input[type=file]{padding:10px;font-size:13px}.catalog-grid .project-card p{min-height:40px}.catalog-submenu{border-left:1px solid #d9e4eb;margin-left:21px;padding:4px 0 8px 25px}.catalog-submenu button{width:100%;padding:9px 14px;font-size:13px}.partner-tabs{border-bottom:1px solid #dce4ec;gap:20px;margin-bottom:18px;display:flex}.partner-tabs button{color:#677c8a;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 4px}.partner-tabs button.active{color:#14758a;border-color:#14758a}.partner-role-picker{border:0;flex-wrap:wrap;gap:20px;margin:0 0 20px;padding:0;display:flex}.partner-role-picker legend{color:#657985;margin-bottom:10px;font-size:13px}.partner-role-picker label,.partner-check{align-items:center;gap:8px;display:flex}.partner-role-picker input,.partner-check input{accent-color:#14758a;width:18px;height:18px;margin:0}.partner-check{margin-top:18px}.role-tags{flex-wrap:wrap;gap:5px;display:flex}.partner-address{border:1px solid #dce4ec;border-radius:10px;margin-bottom:14px;padding:15px}dialog:has(.partner-tabs){width:min(1100px,100vw - 32px)}dialog:has(.partner-tabs) .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-role-picker{justify-content:space-between}@media (width<=800px){dialog:has(.partner-tabs) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=580px){dialog:has(.partner-tabs) .form-grid{grid-template-columns:1fr}}.company-settings{padding:24px}.company-settings .form-grid{margin-top:20px}.sunat-lookup{flex-wrap:wrap;align-items:center;gap:18px;margin-top:20px;display:flex}
