*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e293b;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}html,body,#root{width:100%;height:100%}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}h4{font-size:1.125rem;font-weight:600}h5{font-size:1rem;font-weight:600}h6{font-size:.875rem;font-weight:600}p{line-height:1.6}.text-primary{color:#1f4e79}.text-secondary{color:#2e75b6}.text-accent{color:#4a90c4}.text-muted{color:#64748b}.text-error{color:#dc2626}.text-success{color:#16a34a}.text-warning{color:#ea580c}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between;align-items:center}.flex-start{justify-content:flex-start;align-items:flex-start}.flex-end{justify-content:flex-end;align-items:flex-end}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.inline-block{display:inline-block}.block{display:block}.inline{display:inline}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.w-1\/2{width:50%}.w-1\/3{width:33.333%}.w-2\/3{width:66.667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.min-h-screen{min-height:100vh}.h-screen{height:100vh}.h-96{height:24rem}.border{border:1px solid #e2e8f0}.border-t{border-top:1px solid #e2e8f0}.border-b{border-bottom:1px solid #e2e8f0}.border-l{border-left:1px solid #e2e8f0}.border-r{border-right:1px solid #e2e8f0}.border-gray{border-color:#e2e8f0}.border-primary{border-color:#1f4e79}.border-secondary{border-color:#2e75b6}.rounded{border-radius:.375rem}.rounded-md{border-radius:.5rem}.rounded-lg{border-radius:.75rem}.rounded-xl{border-radius:1rem}.bg-white{background-color:#fff}.bg-gray{background-color:#f8fafc}.bg-light-gray{background-color:#f1f5f9}.bg-primary{background-color:#1f4e79}.bg-secondary{background-color:#2e75b6}.bg-accent{background-color:#4a90c4}.bg-green{background-color:#16a34a}.bg-red{background-color:#dc2626}.bg-yellow{background-color:#ea580c}.bg-blue{background-color:#2563eb}.bg-orange{background-color:#f97316}.bg-amber{background-color:#f59e0b}.shadow,.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-md{box-shadow:0 4px 6px -1px #0000001a}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.fixed{position:fixed}.top-0{top:0}.left-0{left:0}.right-0{right:0}.bottom-0{bottom:0}.transition{transition:all .3s}.container{max-width:1400px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.card{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.card.hover{transition:all .3s}.card.hover:hover{border-color:#cbd5e1;box-shadow:0 10px 15px -3px #0000001a}.btn{cursor:pointer;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{color:#fff;background-color:#1f4e79}.btn-primary:hover{background-color:#1a3f5e}.btn-secondary{color:#fff;background-color:#2e75b6}.btn-secondary:hover{background-color:#265a99}.btn-ghost{color:#1f4e79;background-color:#0000;border:1px solid #1f4e79}.btn-ghost:hover{background-color:#f8fafc}.btn-small{padding:.25rem .75rem;font-size:.75rem}.btn-large{padding:.75rem 1.5rem;font-size:1rem}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.textarea,.select{border:1px solid #e2e8f0;border-radius:.375rem;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .2s}.input:focus,.textarea:focus,.select:focus{border-color:#1f4e79;outline:none;box-shadow:0 0 0 3px #1f4e791a}.input::placeholder{color:#94a3b8}.label{color:#1e293b;margin-bottom:.25rem;font-size:.875rem;font-weight:500;display:block}.form-group{margin-bottom:1rem}.badge{border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:#166534;background-color:#dcfce7}.badge-warning{color:#b45309;background-color:#fef3c7}.badge-error{color:#991b1b;background-color:#fee2e2}.badge-info{color:#0c4a6e;background-color:#e0f2fe}.badge-secondary{color:#3730a3;background-color:#e0e7ff}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th{text-align:left;color:#1f4e79;background-color:#f1f5f9;border-bottom:2px solid #e2e8f0;padding:.75rem;font-weight:600}.table td{border-bottom:1px solid #e2e8f0;padding:.75rem}.table tbody tr:hover{background-color:#f8fafc}.table tbody tr:nth-child(odd){background-color:#fff}.table tbody tr:nth-child(2n){background-color:#f9fafb}.layout{background-color:#f8fafc;height:100vh;display:flex}.sidebar{color:#fff;background-color:#1e293b;flex-direction:column;width:280px;display:flex;overflow-y:auto}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.header{background-color:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.header h1{color:#1f4e79;font-size:1.5rem}.content{flex:1;padding:2rem;overflow-y:auto}.nav-item{cursor:pointer;color:#cbd5e1;align-items:center;gap:.75rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background-color:#ffffff1a}.nav-item.active{color:#fff;background-color:#2e75b6;border-left:3px solid #4a90c4}.sidebar-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:.75rem;padding:1.5rem;font-size:1.25rem;font-weight:700;display:flex}.sidebar-nav{flex:1;padding-top:1rem;padding-bottom:1rem}.kpi-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.kpi-label{color:#64748b;font-size:.875rem;font-weight:500}.kpi-value{color:#1f4e79;font-size:2rem;font-weight:700}.kpi-subtitle{color:#94a3b8;font-size:.75rem}.modal{z-index:9999;isolation:isolate;background-color:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:#fff;border-radius:.75rem;width:90%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.of-header{background-color:#fff;border:2px solid #1f4e79;border-radius:.5rem;margin-bottom:1.5rem;padding:1.5rem}.of-section{background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:1.5rem;padding:1.5rem}.of-label{color:#1f4e79;min-width:150px;margin-right:.5rem;font-weight:600}.of-value{color:#1e293b}.of-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1rem;display:grid}.of-row{gap:3rem;margin-bottom:.75rem;display:flex}.of-row-item{align-items:baseline;display:flex}.of-cross-section{background-color:#f8fafc;border-radius:.5rem;flex-direction:column;gap:.5rem;margin:1rem 0;padding:1rem;display:flex}.of-cross-section-layers{border:1px solid #cbd5e1;border-radius:.375rem;height:120px;display:flex;overflow:hidden}.of-layer{color:#fff;flex:1;justify-content:center;align-items:flex-end;font-size:.75rem;font-weight:600;display:flex}.of-layer.l{background-color:#2563eb}.of-layer.q{background-color:#f59e0b}.operator-form{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem;display:grid}.form-row-full{grid-column:1/-1}@media print{.sidebar,.header,.no-print{display:none}.main-content{width:100%}.content{padding:1rem;overflow:visible}body{background-color:#fff}.card,.table{page-break-inside:avoid}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:#f1f5f9}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}@media (width<=768px){.sidebar{width:200px}.header{padding:.75rem 1rem}.content{padding:1rem}.grid-cols-2{grid-template-columns:1fr}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.grid-cols-6{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.layout{flex-direction:column}.sidebar{width:100%;max-height:200px;overflow:auto hidden}.sidebar-nav{gap:.5rem;display:flex}.nav-item{white-space:nowrap;flex-shrink:0}.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-6{grid-template-columns:1fr}}
