@import "https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css";
@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-ext-wght-normal.1zrieox9119mb.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-cyrillic-wght-normal.2whpih27xg_2r.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-ext-wght-normal.1xlj4-0oa5zql.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-greek-wght-normal.1fxkn-ggzj93z.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-vietnamese-wght-normal.1ahvy37o8m5gt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-ext-wght-normal.2ktx6yqc-sbf1.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/inter-latin-wght-normal.0rpdhg_4ubdtf.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--baetica-navy:#11263c;--baetica-green:#80ba27;--baetica-teal:#80c0c3;--baetica-coral:#e38e75;--baetica-white:#fff;--baetica-gray-50:#f3f3f3;--baetica-gray-100:#e9e9e9;--baetica-gray-300:#c7c7c8;--baetica-gray-600:#6a7682;--bg:var(--baetica-gray-50);--panel:var(--baetica-white);--ink:var(--baetica-navy);--muted:var(--baetica-gray-600);--line:var(--baetica-gray-300);--accent:var(--baetica-green);--radius:.75rem;--danger:#8b3528;--bs-primary:var(--baetica-green);--bs-primary-rgb:128, 186, 39;--bs-secondary:var(--baetica-navy);--bs-secondary-rgb:17, 38, 60;--bs-info:var(--baetica-teal);--bs-info-rgb:128, 192, 195;--bs-danger:var(--baetica-coral);--bs-danger-rgb:227, 142, 117;--bs-body-color:var(--baetica-navy);--bs-body-bg:var(--baetica-gray-50);--bs-border-color:var(--baetica-gray-300);--bs-border-radius:var(--radius);--font-inter:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--bs-font-sans-serif:var(--font-inter);--bs-body-font-family:var(--bs-font-sans-serif)}.inter-light{font-family:var(--font-inter), sans-serif;font-style:normal;font-weight:300}.inter-regular{font-family:var(--font-inter), sans-serif;font-style:normal;font-weight:400}.inter-semibold{font-family:var(--font-inter), sans-serif;font-style:normal;font-weight:600}.inter-bold{font-family:var(--font-inter), sans-serif;font-style:normal;font-weight:700}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--bs-font-sans-serif);margin:0}button,input,select,textarea,.btn{font-family:var(--bs-font-sans-serif)}input[type=number]{appearance:textfield;font-variant-numeric:tabular-nums}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:2px;outline:3px solid #80c0c3a6}.shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--baetica-navy);color:#fff;padding:1.5rem 1.125rem}.brand{letter-spacing:.04em;margin:.125rem .5rem 1.5rem;font-size:1.35rem;font-weight:800}.brand:after{content:"";background:var(--baetica-green);width:2.4rem;height:.2rem;margin-top:.65rem;display:block}.brand small{color:#b8c3cc;letter-spacing:0;margin-top:.2rem;font-size:.7rem;font-weight:500;display:block}.nav{gap:.08rem;display:grid}.nav-group{gap:.06rem;display:grid}.nav a.nav-create{width:calc(100% - 1.35rem);margin-left:1.35rem;padding:.28rem .75rem;font-size:.86rem}.module-switcher{border-bottom:1px solid #ffffff2e;margin:0 .25rem 1rem;padding-bottom:1rem}.module-switcher label{text-transform:uppercase;letter-spacing:.04em;color:#b8c3cc;margin:0 0 .35rem;font-size:.7rem;font-weight:700;display:block}.module-switcher select{width:100%;color:var(--baetica-navy);font:inherit;background:#fff;border:1px solid #ffffff47;border-radius:.5rem;padding:.6rem}.nav a,.nav button{text-align:left;color:#dfe8ef;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.65rem;padding:.54rem .75rem;transition:background-color .15s,color .15s;display:flex}.nav-icon{flex:0 0 1rem;justify-content:center;align-items:center;width:1rem;display:inline-flex}.nav-icon svg{fill:currentColor}.nav a.active{background:var(--baetica-green);color:#173000;font-weight:800}.main{min-width:0;padding:1.75rem 2rem}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.top h1{margin:0;font-size:clamp(1.55rem,2.5vw,2rem);font-weight:700}.panel{background:var(--panel);border:1px solid var(--line);border-top:.25rem solid var(--baetica-green);border-radius:var(--radius);margin-bottom:1rem;padding:1.125rem;box-shadow:0 .125rem .5rem #11263c0a}.panel>h2,.panel>h3{color:#000;text-align:left;align-self:flex-start;margin:0 0 .5rem;font-size:18pt;font-weight:700;line-height:1.2}.period{margin-bottom:1.125rem}.workflow-infographic{border-top:.25rem solid var(--baetica-green);padding:1.35rem;overflow:hidden}.dashboard-production-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:70%;margin-top:.85rem;display:grid}.dashboard-section-panel{border-top:.25rem solid var(--baetica-green)}.dashboard-production-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #fff 0%, var(--baetica-gray-50) 100%);flex-direction:column;align-items:flex-start;min-width:0;padding:1rem;display:flex}.dashboard-production-card h3{color:var(--baetica-navy);margin:0 0 .4rem;font-size:.9rem}.dashboard-production-card p{color:var(--muted);flex:1;margin:0 0 .85rem;font-size:.75rem;line-height:1.45}.dashboard-production-card .btn{text-align:center;min-width:3.5rem}.btn.primary:after{content:"→";margin-left:.35rem;font-size:.9em;font-weight:400;line-height:1;transition:transform .16s;display:inline-block}.btn.primary:not(:disabled):hover:after,.btn.primary:focus-visible:after{transform:translate(.18rem)}.tablewrap .btn.primary:after,table .btn.primary:after{content:none}.dashboard-hours-panel .card{text-align:center}.production-section{scroll-margin-top:1rem}.workflow-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.workflow-heading h2{color:#000;text-align:left;margin:.15rem 0 0;font-size:18pt;font-weight:700;line-height:1.2}.workflow-heading>p{max-width:34rem;color:var(--muted);text-align:right;margin:0}.workflow-kicker{color:var(--baetica-green);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.workflow-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.workflow-steps li{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #fff 0%, var(--baetica-gray-50) 100%);min-width:0;padding:1rem;position:relative}.workflow-number{color:var(--muted);font-size:.7rem;font-weight:800;position:absolute;top:.65rem;right:.65rem}.workflow-icon{width:2.6rem;height:2.6rem;color:var(--baetica-navy);background:#80ba2729;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.65rem;display:inline-flex}.workflow-icon svg{fill:currentColor}.workflow-steps h3{color:var(--baetica-navy);margin:0 0 .4rem;font-size:.9rem}.workflow-steps p{color:var(--muted);margin:0;font-size:.75rem;line-height:1.45}.period h2{color:var(--baetica-green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .5rem;font-size:.7rem;font-weight:800}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem;display:grid}.exploitation-hours-summary,.exploitation-comparison-summary{grid-template-columns:repeat(3,minmax(0,1fr));max-width:75%;margin-bottom:1rem}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;padding:1.05rem;box-shadow:0 .125rem .5rem #11263c0a}.label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:700}.value{overflow-wrap:anywhere;margin-top:.25rem;font-size:1.55rem;font-weight:800}.value.small{font-size:1.125rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.btn{cursor:pointer;background:var(--baetica-gray-100);color:var(--ink);border:1px solid #0000;border-radius:.5rem;padding:.55rem .8rem;font-weight:700;line-height:1.25;display:inline-block}.btn:hover{filter:brightness(.96)}.btn.primary{background:var(--accent);color:#173000}.btn.dark{background:var(--baetica-navy);color:#fff}.btn:disabled{cursor:not-allowed;opacity:.55}.action-icon{color:#316b00;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:flex-start;width:2rem;height:2.2rem;padding:.15rem .2rem .45rem;display:inline-flex;position:relative}.action-icon svg,.action-icon img{object-fit:contain;width:1.45rem;height:1.45rem;transition:transform .12s,opacity .12s;display:block}.action-icon:after{content:"";opacity:.65;background:currentColor;width:1.35rem;height:1px;transition:width .12s,height .12s,opacity .12s,background-color .12s;position:absolute;bottom:.15rem;left:50%;transform:translate(-50%)}.action-icon:hover{color:var(--baetica-navy);background:0 0}.action-icon:hover svg,.action-icon:hover img{transform:translateY(-1px)}.action-icon:hover:after{opacity:1;width:1.7rem;height:2px}.action-icon:focus-visible{outline:2px solid var(--baetica-green);outline-offset:2px}.action-icon.custom-export{color:var(--baetica-navy)}.action-icon.danger{color:var(--danger);background:0 0;border:0}.action-icon.danger:hover{color:#8f2117;background:0 0}.action-icon.edit-plain{color:#316b00}.action-icon+.action-icon{margin-left:.25rem}.actions-column{z-index:1;background:var(--panel);text-align:center;min-width:5.5rem;position:sticky;right:0;box-shadow:-.35rem 0 .55rem #11263c0f}.table-sort-button{width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;font-weight:800;display:inline-flex}.table-sort-button:after{content:"↕";color:var(--muted);opacity:.55;font-size:.7rem}.table-sort-button.asc:after{content:"▲";color:var(--baetica-green);opacity:1}.table-sort-button.desc:after{content:"▼";color:var(--baetica-green);opacity:1}.table-sort-button:hover,.table-sort-button:focus-visible{color:var(--baetica-green)}th.num .table-sort-button{justify-content:flex-end}.production-detail-table th,.production-detail-table td{vertical-align:middle}.production-detail-table th:nth-last-child(-n+3),.production-detail-table td:nth-last-child(-n+3){text-align:right;white-space:nowrap;min-width:7.5rem}.result-actions{flex-wrap:wrap;gap:.5rem;margin:1rem 0 .65rem;display:flex}.production-toolbar input[type=date]{flex:0 0 10.5rem;width:10.5rem}.modal-backdrop{z-index:1000;background:#11263c94;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--panel);border-radius:.75rem;width:min(100%,34rem);padding:1.5rem;box-shadow:0 1.25rem 3rem #11263c47}.confirm-dialog h2{margin-top:0}.dialog-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;display:flex}thead .actions-column{z-index:2;background:var(--baetica-gray-50)}.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.form .full{grid-column:1/-1}.form label{color:var(--muted);margin-bottom:.3rem;font-size:.78rem;font-weight:600;display:block}.form label.required:after{content:" *";color:var(--danger);font-weight:800}.form input,.form select,.form textarea,.toolbar input,.toolbar select{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:.5rem;padding:.625rem}.form input:focus,.form select:focus,.form textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--baetica-teal);outline:0;box-shadow:0 0 0 .2rem #80c0c340}.form input:invalid:not(:placeholder-shown),.form select:invalid{border-color:#d47b7b}.form input[readonly]{background:var(--baetica-gray-100)}.field-help{color:var(--muted);margin-top:.25rem;font-size:.7rem;display:block}.checkrow{align-items:end;padding-bottom:.5rem;display:flex}.inlinecheck{align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.inlinecheck input,.checkrow input{width:auto}.expense-type-fieldset{border:0;margin:0;padding:0}.expense-type-fieldset legend{margin-bottom:.4rem}.expense-type-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.expense-type-option{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;align-items:flex-start;gap:.65rem;padding:.9rem;display:flex}.expense-type-option.selected{border-color:var(--baetica-green);box-shadow:inset 0 0 0 1px var(--baetica-green);background:#80ba271f}.expense-type-option input{width:auto;margin-top:.2rem}.expense-type-option span,.expense-type-option small{display:block}.expense-type-option small{color:var(--muted);margin-top:.2rem;line-height:1.35}.tablewrap{border-radius:.5rem;overflow:auto}table{border-collapse:collapse;width:100%;margin:0;font-size:.82rem}th{text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:2px solid var(--line);white-space:nowrap;background:var(--baetica-gray-50);padding:.65rem .5rem;font-size:.68rem}.num{text-align:right;white-space:nowrap}.total{background:var(--baetica-navy);color:#fff;font-weight:800}.login{background:linear-gradient(145deg, var(--baetica-navy), #1d3b58);justify-content:center;align-items:center;min-height:100vh;padding:1.25rem;display:flex}.loginbox{border-top:.3rem solid var(--baetica-green);background:#fff;border-radius:1rem;width:min(430px,92vw);padding:1.75rem;box-shadow:0 1rem 3rem #0003}.loginbox label{color:var(--muted);margin-top:.6rem;font-size:.78rem;font-weight:600;display:block}.loginbox input{border:1px solid var(--line);border-radius:.5rem;width:100%;margin:.4rem 0;padding:.7rem}.notice{border-left:.25rem solid var(--baetica-green);background:#eef7dc;border-radius:.5rem;margin-bottom:.75rem;padding:.65rem .75rem;font-size:.82rem}.notice.error{color:#7d2323;border-left-color:var(--baetica-coral);background:#fdecec}.textlink{color:#316b00;text-underline-offset:2px;text-decoration:underline}.table-name-button{color:#316b00;text-underline-offset:2px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.table-name-button:hover{color:var(--baetica-navy)}.table-name-button:focus-visible{outline:2px solid var(--baetica-green);outline-offset:2px}.break{overflow-wrap:anywhere}.rolebox{border-top:1px solid var(--line);padding:.75rem 0}.rolebox:first-of-type{border-top:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.over{color:var(--danger)}.empty{color:var(--muted);text-align:center;padding:1rem}.status{background:var(--baetica-gray-100);border-radius:999px;padding:.25rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.document-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.125rem;padding-bottom:1rem;display:flex}.document-head img{object-fit:contain;max-width:180px;max-height:72px}.document-company{text-align:right;font-size:.75rem;line-height:1.45}.line-actions{gap:.4rem;display:flex}.quote-grid{grid-template-columns:90px minmax(220px,1fr) minmax(150px,220px) 130px 42px;align-items:center;gap:.5rem;display:grid}.quote-grid.header{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.quote-grid input,.quote-grid select{border:1px solid var(--line);border-radius:.5rem;width:100%;min-height:2.55rem;padding:.55rem}.quote-hourly-price{flex-direction:column;gap:.35rem;min-width:0;display:flex}.quote-grid>.num{justify-content:flex-end;align-items:center;min-height:2.55rem;display:flex}.document-terms-heading{border-top:1px solid var(--line);margin-top:.75rem;padding-top:1rem}.budget-editor-layout{flex-direction:column;display:flex}.budget-conditions{order:99}.budget-save-footer{order:100}.summary-grid{grid-template-columns:1fr auto;gap:.45rem 1.125rem;max-width:520px;margin-left:auto;display:grid}.summary-grid .grand{border-top:2px solid var(--ink);padding-top:.5rem;font-size:1.125rem;font-weight:800}.chart-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.chart-heading h2{color:#000;text-align:left;align-self:flex-start;margin:0 0 .2rem;font-size:18pt;font-weight:700;line-height:1.2}.year-filter{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.year-filter label{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.year-filter select{border:1px solid var(--line);min-width:105px;color:var(--ink);background:#fff;border-radius:.5rem;margin-top:.2rem;padding:.55rem;display:block}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:1rem;margin:.2rem 0 .5rem;font-size:.75rem;display:flex}.chart-legend span{align-items:center;gap:.35rem;display:inline-flex}.chart-legend i{border-radius:1rem;width:1rem;height:.2rem;display:inline-block}.legend-hours-value{background:var(--baetica-green)}.legend-budgets{background:var(--baetica-teal)}.legend-billing{background:var(--baetica-coral)}.chart-scroll{width:100%;overflow-x:auto}.chart-scroll svg{width:100%;min-width:720px;height:auto;display:block}.chart-gridline{stroke:#dfe4e8;stroke-width:1px}.chart-axis-label,.chart-month{fill:var(--muted);font-family:var(--font-inter);font-size:11px}.chart-line{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.chart-line-hours-value{stroke:var(--baetica-green)}.chart-line-budgets{stroke:var(--baetica-teal)}.chart-line-billing{stroke:var(--baetica-coral)}.chart-point{stroke:#fff;stroke-width:2px}.chart-point-hours-value{fill:var(--baetica-green)}.chart-point-budgets{fill:var(--baetica-teal)}.chart-point-billing{fill:var(--baetica-coral)}.chart-data-table{margin-top:.6rem}.chart-data-table table{font-size:.75rem}@media (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.shell{grid-template-columns:1fr}.side{padding:.75rem .875rem}.brand{margin-bottom:.65rem}.nav{flex-wrap:nowrap;display:flex;overflow:auto}.nav a,.nav button{white-space:nowrap}.main{padding:1.125rem}.form{grid-template-columns:1fr}.form .full{grid-column:auto}.quote-grid{grid-template-columns:80px minmax(180px,1fr) 150px 120px 42px}.workflow-heading{display:block}.workflow-heading>p{text-align:left;margin-top:.5rem}}@media (max-width:560px){.cards{grid-template-columns:1fr}.dashboard-production-links{grid-template-columns:1fr;width:100%}.workflow-steps{grid-template-columns:1fr}.top{flex-direction:column;align-items:flex-start}.toolbar>*{flex:140px}.quote-grid{min-width:720px}.document-head{flex-direction:column}.document-company{text-align:left}.chart-heading{display:block}.year-filter{margin-bottom:.75rem}.year-filter select{min-width:140px}.chart-data-table{max-height:230px}}@media print{body{background:#fff}.side,.top .help,.no-print{display:none!important}.shell{display:block}.main{padding:0}.panel,.card{box-shadow:none;border:0;margin:0 0 1rem;padding:0}.cards{grid-template-columns:repeat(4,1fr);gap:.5rem}table{font-size:10pt}th,td{padding:.4rem .25rem}.total{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:#eee!important}.btn{display:none!important}}.expense-form-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:.75rem;display:flex}.expense-form-heading h2{margin:0}.expense-type-header{grid-template-columns:repeat(2,minmax(180px,1fr));gap:.75rem;width:min(100%,470px);display:grid}.expense-type-choice{flex-direction:column;gap:.35rem;display:flex}.expense-type-button{border:1px solid var(--baetica-green);width:100%;color:var(--baetica-green);letter-spacing:.04em;background:#fff;font-weight:700}.expense-type-button:hover,.expense-type-button:focus-visible,.expense-type-button.selected{border-color:var(--baetica-green);background:var(--baetica-green);color:#fff}.expense-type-choice small{color:var(--muted);font-size:.75rem;line-height:1.35}@media (max-width:760px){.expense-form-heading{flex-direction:column}.expense-type-header{width:100%}}@media (max-width:460px){.expense-type-header{grid-template-columns:1fr}}.negative-value{color:#c62828!important}.rich-text-field{width:100%}.rich-text-toolbar{border:1px solid var(--line);background:var(--baetica-gray-50);border-bottom:0;border-radius:.5rem .5rem 0 0;align-items:center;gap:.35rem;padding:.4rem;display:flex}.rich-text-toolbar button{border:1px solid var(--line);min-width:2.25rem;min-height:2rem;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:.35rem;padding:.3rem .55rem}.rich-text-toolbar button:hover,.rich-text-toolbar button:focus-visible{border-color:var(--baetica-green);color:var(--baetica-navy);outline:0}.rich-text-editor{border:1px solid var(--line);min-height:7rem;color:var(--ink);font:inherit;background:#fff;border-radius:0 0 .5rem .5rem;padding:.625rem;overflow-y:auto}.rich-text-editor:focus{border-color:var(--baetica-teal);outline:0;box-shadow:0 0 0 .2rem #80c0c340}.rich-text-editor p,.rich-text-editor div{margin:0 0 .5rem}.rich-text-editor ul,.rich-text-editor ol{margin:.35rem 0 .65rem;padding-left:1.5rem}.rich-text-editor:empty:before{content:"Escribe aquí las observaciones del presupuesto…";color:var(--muted);pointer-events:none}.chat-index{gap:.65rem;display:grid}.chat-index-item{border:1px solid var(--line);background:#fff;border-radius:.65rem;justify-content:space-between;gap:1rem;padding:.9rem 1rem;transition:border-color .15s,background .15s;display:flex}.chat-index-item:hover{border-color:var(--baetica-green);background:#80ba270d}.chat-index-main{min-width:0}.chat-index-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:62rem;margin-top:.45rem;overflow:hidden}.chat-index-meta{color:var(--muted);white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;font-size:.74rem;display:flex}.chat-unread,.nav-badge{color:#fff;background:#d92d20;border-radius:999px;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;font-size:.68rem;font-weight:800;display:inline-grid}.nav-label{flex:1;min-width:0}.chat-thread{max-height:58vh;padding:.25rem .25rem .75rem;overflow-y:auto}.chat-message{border:1px solid var(--line);background:#fff;border-radius:.75rem;width:min(78%,760px);margin:.55rem 0;padding:.75rem .85rem}.chat-message.mine{background:#80ba2714;border-color:#80ba278c;margin-left:auto}.chat-message-head{justify-content:space-between;gap:1rem;margin-bottom:.35rem;font-size:.72rem;display:flex}.chat-message-head span{color:var(--muted)}.chat-message-text{white-space:pre-wrap;line-height:1.45}.chat-attachment{color:#316b00;text-underline-offset:2px;margin-top:.55rem;font-size:.78rem;text-decoration:underline;display:block}.chat-composer{border-top:1px solid var(--line);padding-top:.85rem}.chat-composer textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:5rem;font:inherit;border-radius:.5rem;padding:.7rem}.chat-composer-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.55rem;display:flex}.project-member-grid{border:1px solid var(--line);background:var(--baetica-gray-50);border-radius:.5rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem .75rem;padding:.65rem;display:grid}.project-member-grid label{color:var(--ink);align-items:center;gap:.4rem;margin:0;display:flex}.project-member-grid input{width:auto}@media (max-width:760px){.project-member-grid{grid-template-columns:1fr}.chat-message{width:92%}.chat-index-item{flex-direction:column}.chat-index-meta{justify-content:flex-start}}.chat-dropzone{border:2px dashed var(--baetica-gray-300);color:var(--muted);text-align:center;cursor:pointer;background:#fff;border-radius:.6rem;margin-top:.6rem;padding:.85rem 1rem;transition:border-color .15s,background .15s,color .15s}.chat-dropzone:hover,.chat-dropzone:focus-visible,.chat-dropzone.active{border-color:var(--baetica-green);color:var(--baetica-navy);background:#80ba2714}.chat-presence{margin:.5rem 0 1rem}.chat-presence-title{color:var(--baetica-navy);margin-bottom:.5rem;font-size:.78rem;font-weight:800}.chat-presence-list{flex-wrap:wrap;gap:.55rem;display:flex}.chat-presence-user{border:1px solid var(--line);background:#fff;border-radius:.6rem;align-items:center;gap:.5rem;min-width:220px;padding:.55rem .65rem;display:flex}.presence-dot{background:var(--baetica-gray-300);border-radius:50%;flex:0 0 .65rem;width:.65rem;height:.65rem}.presence-dot.online{background:var(--baetica-green);box-shadow:0 0 0 3px #80ba2724}.chat-presence-name{flex-direction:column;flex:1;min-width:0;display:flex}.chat-presence-name b{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.chat-presence-name span{color:var(--muted);font-size:.68rem}.chat-notify-btn{padding:.35rem .55rem;font-size:.7rem}.chat-presence-message{margin-top:.55rem}:root{--ui-text:#171717;--ui-muted:#666;--ui-border:#e5e5e5;--ui-soft:#f7f7f7;--ui-active:#eee;--ui-radius:.5rem}body{color:var(--ui-text);background:#fafafa;font-size:14px;font-weight:400;line-height:20px}.shell{grid-template-columns:236px minmax(0,1fr)}.side{border-right:1px solid var(--ui-border);height:100vh;min-height:100vh;color:var(--ui-text);background:#fff;align-self:start;padding:.85rem .65rem;position:sticky;top:0;overflow-y:auto}.brand{color:var(--ui-text);letter-spacing:0;margin:.15rem .65rem 1rem;font-size:1rem;font-weight:700;line-height:1.25rem}.brand:after{width:1.75rem;height:.16rem;margin-top:.45rem}.brand small{color:#737373;margin-top:.1rem;font-size:.68rem;font-weight:500;line-height:1rem}.nav,.nav-group{gap:.05rem}.nav a,.nav button{color:#404040;background:0 0;border-radius:.45rem;gap:.55rem;min-height:34px;padding:.4rem .55rem;font-size:14px;font-weight:500;line-height:20px}.nav-icon{flex-basis:1rem;width:1rem}.nav-icon svg{width:15px;height:15px}.nav a:hover,.nav button:hover,.nav a:focus-visible,.nav button:focus-visible{color:#171717;background:#f3f3f3}.nav a.active{background:var(--ui-active);color:#171717;box-shadow:inset 2px 0 0 var(--baetica-green);font-weight:600}.nav a.nav-create{color:#737373;width:calc(100% - 1.15rem);min-height:28px;margin-left:1.15rem;padding:.22rem .55rem;font-size:12px;line-height:16px}.nav-badge{min-width:1.15rem;height:1.15rem;font-size:.62rem}.main{padding:1rem 1.35rem 1.5rem}.top{border-bottom:1px solid var(--ui-border);background:#fff;min-height:42px;margin:-1rem -1.35rem 1rem;padding:.65rem 1.35rem}.top h1{color:var(--ui-text);font-size:16px;font-weight:600;line-height:22px}.top .help{margin:0;font-size:12px;line-height:18px}.panel,.card,.workflow-infographic,.dashboard-section-panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:none;border-top-width:1px}.panel{margin-bottom:.75rem;padding:.85rem 1rem}.card{padding:.8rem}.panel>h2,.panel>h3,.workflow-heading h2,.chart-heading h2{color:var(--ui-text);margin-bottom:.4rem;font-size:16px;font-weight:600;line-height:22px}.help{color:var(--ui-muted);margin:.15rem 0 .6rem;font-size:12px;line-height:18px}.cards{gap:.65rem}.label{color:var(--ui-muted);letter-spacing:0;text-transform:none;font-size:11px;font-weight:600;line-height:16px}.value{margin-top:.15rem;font-size:1.25rem;line-height:1.4rem}.toolbar,.result-actions{gap:.4rem;margin-bottom:.55rem}.btn{min-height:32px;color:var(--ui-text);background:#fff;border:1px solid #dedede;border-radius:.42rem;padding:.36rem .65rem;font-size:13px;font-weight:500;line-height:18px;box-shadow:0 1px 1px #00000005}.btn:hover{filter:none;background:#f6f6f6;border-color:#d3d3d3}.btn.primary{border-color:var(--baetica-green);background:var(--baetica-green);color:#173000;font-weight:600}.btn.dark{border-color:var(--baetica-navy);background:var(--baetica-navy)}.action-icon svg,.action-icon img{width:1.1rem;height:1.1rem}.form{gap:.6rem .75rem}.form label,.loginbox label{color:#404040;margin-bottom:.2rem;font-size:13px;font-weight:500;line-height:18px}.form input,.form select,.form textarea,.toolbar input,.toolbar select,.loginbox input,.quote-grid input,.quote-grid select,.year-filter select{min-height:34px;color:var(--ui-text);border-color:#dedede;border-radius:.42rem;padding:.38rem .55rem;font-size:14px;line-height:20px}.form textarea{min-height:4.25rem}.form input:focus,.form select:focus,.form textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:#a3a3a3;box-shadow:0 0 0 2px #80ba2724}.field-help{margin-top:.18rem;font-size:11px;line-height:16px}.project-member-grid{background:#fafafa;border-radius:.42rem;gap:.3rem .65rem;padding:.5rem .6rem}.tablewrap{border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#fff}th{border-bottom:1px solid var(--ui-border);color:#595959;text-transform:none;background:#fafafa;padding:.48rem .55rem;font-size:12px;font-weight:600;line-height:16px}td{vertical-align:middle;border-bottom:1px solid #ededed;padding:.48rem .55rem}tbody tr:not(.total):hover{background:#fafafa}.actions-column{min-width:4.75rem;box-shadow:none}thead .actions-column{background:#fafafa}.table-sort-button{font-weight:600}.table-name-button,.textlink{color:#315f00}.chat-index{gap:.45rem}.chat-index-item{border-radius:.45rem;padding:.65rem .75rem}.chat-index-preview{margin-top:.25rem}.chat-message{border-radius:.55rem;margin:.4rem 0;padding:.6rem .7rem}.chat-thread{max-height:62vh}.chat-presence-user{border-radius:.45rem;min-width:200px;padding:.42rem .55rem}.rolebox{padding:.55rem 0}.notice{border-radius:.42rem;padding:.5rem .65rem;font-size:12px;line-height:18px}.status{padding:.18rem .4rem;font-size:11px}.rich-text-toolbar{padding:.3rem}.rich-text-editor{min-height:5.5rem;padding:.5rem}.workflow-infographic{padding:.85rem 1rem}.workflow-heading{margin-bottom:.8rem}.workflow-steps{gap:.55rem}.workflow-steps li,.dashboard-production-card,.expense-type-option{border-radius:var(--ui-radius);box-shadow:none;padding:.75rem}@media (max-width:900px){.side{border-right:0;border-bottom:1px solid var(--ui-border);height:auto;min-height:auto;position:static}.main{padding:.85rem}.top{margin:-.85rem -.85rem .85rem;padding:.65rem .85rem}}table{font-size:13px;line-height:18px}th{padding:.36rem .5rem;font-size:11px;line-height:15px}td{padding:.34rem .5rem;line-height:18px}.table-sort-button:after{font-size:.62rem}.action-icon{width:1.55rem;height:1.55rem;padding:.08rem}.action-icon svg,.action-icon img{opacity:.78;width:.98rem;height:.98rem}.action-icon:after{opacity:.45;width:1rem}.nav-icon svg{opacity:.82;width:14px;height:14px}.nav a.active{color:#171717;background:#80ba2714;font-weight:600;box-shadow:inset 0 0 0 2px #80ba2780}.nav a.active{background:#80ba270f;box-shadow:inset 0 0 0 1.5px #80ba2780}.nav a.active:hover,.nav a.active:focus-visible{background:#80ba2717;box-shadow:inset 0 0 0 1.5px #80ba2799}th{padding-top:.29rem;padding-bottom:.29rem}td{padding-top:.27rem;padding-bottom:.27rem}.toolbar>select{flex:0 0 25%;width:25%;min-width:138px;max-width:188px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23737373' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:12px 12px;padding-right:1.9rem!important}select:hover,select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2380BA27' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");border-color:#80ba27bf}.form select,.toolbar select,.year-filter select,.module-switcher select,.expense-type-option select,select{appearance:none;background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' fill='none' stroke='%23737373' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:right .72rem center!important;background-repeat:no-repeat!important;background-size:12px 12px!important;padding-right:2rem!important}.form select:hover,.form select:focus,.toolbar select:hover,.toolbar select:focus,.year-filter select:hover,.year-filter select:focus,.module-switcher select:hover,.module-switcher select:focus,select:hover,select:focus{background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' fill='none' stroke='%2380BA27' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:right .72rem center!important;background-repeat:no-repeat!important;background-size:12px 12px!important;border-color:#80ba27bf!important}.form select,.toolbar select,.year-filter select,.module-switcher select,select,.form select:hover,.form select:focus,.toolbar select:hover,.toolbar select:focus,.year-filter select:hover,.year-filter select:focus,.module-switcher select:hover,.module-switcher select:focus,select:hover,select:focus{background-color:#fbfbfb!important}select option{background-color:#fbfbfb}.invoice-summary-cards{margin-top:.75rem}.toolbar>.btn.primary{color:#171717;box-shadow:none;background:#80ba270f;border:1.5px solid #80ba2780;font-weight:600}.toolbar>.btn.primary:hover,.toolbar>.btn.primary:focus-visible{color:#171717;background:#80ba2717;border-color:#80ba2799}.dashboard-production-links{width:52.5%}.btn.primary,.dashboard-production-card .btn.primary,.toolbar>.btn.primary{color:#171717;box-shadow:none;background:#80ba270f;border:1.5px solid #80ba2780;font-weight:600}.btn.primary:hover,.btn.primary:focus-visible,.dashboard-production-card .btn.primary:hover,.dashboard-production-card .btn.primary:focus-visible,.toolbar>.btn.primary:hover,.toolbar>.btn.primary:focus-visible{color:#171717;background:#80ba2717;border-color:#80ba2799}.dashboard-hours-panel .cards{width:75%}.dashboard-production-links{grid-template-columns:repeat(3,minmax(0,1fr))}.btn{color:#171717;min-height:32px;box-shadow:none;background:#fff;border:1.5px solid #dedede;border-radius:.42rem;padding:.36rem .65rem;font-size:13px;font-weight:600;line-height:18px;transition:background-color .15s,border-color .15s,color .15s}.btn:hover,.btn:focus-visible{color:#171717;filter:none;background:#f7f7f7;border-color:#cfcfcf}.btn.primary{color:#171717;background:#80ba270f;border-color:#80ba2780}.btn.primary:hover,.btn.primary:focus-visible{color:#171717;background:#80ba2717;border-color:#80ba2799}.btn.dark{border-color:var(--baetica-navy);background:var(--baetica-navy);color:#fff}.btn.dark:hover,.btn.dark:focus-visible{color:#fff;background:#11263ccc;border-color:#11263ccc}.btn.danger{color:#7a2f23;background:#e38e751a;border-color:#e38e758c}.btn.danger:hover,.btn.danger:focus-visible{color:#6d281e;background:#e38e7529;border-color:#e38e75bf}.btn:disabled{opacity:.5;cursor:not-allowed}.chat-notify-btn{color:#171717;background:#80ba270f;border-color:#80ba2780;justify-content:center;align-items:center;width:1.8rem;min-width:1.8rem;height:1.8rem;min-height:1.8rem;padding:0;display:inline-flex}.chat-notify-btn:hover,.chat-notify-btn:focus-visible{background:#80ba2717;border-color:#80ba2799}.project-planning-panel{margin-top:.75rem}.planning-form{border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#fbfbfb;grid-template-columns:84px minmax(220px,1.4fr) 140px 150px 110px;gap:.55rem;margin:.75rem 0 1rem;padding:.75rem;display:grid}.planning-form>div{min-width:0}.planning-form input,.planning-form select,.planning-form textarea{width:100%}.planning-description{grid-column:1/span 3}.planning-dependency{grid-column:4/span 2}.planning-form-actions{grid-column:1/-1;gap:.4rem;display:flex}.planning-message{margin-top:.25rem}.planning-table td{vertical-align:middle}.planning-type{border:1px solid var(--ui-border);background:#fff;border-radius:999px;align-items:center;min-height:20px;padding:.05rem .42rem;font-size:10px;font-weight:700;line-height:16px;display:inline-flex}.planning-type.hito{background:#e38e7514;border-color:#e38e758c}.planning-type.entregable{background:#80c0c317;border-color:#80c0c399}.planning-gantt-wrap{margin-top:.9rem}.planning-gantt-wrap h3{margin:0 0 .45rem}.planning-gantt-scroll{border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#fff;overflow-x:auto}.planning-gantt{width:max-content;min-width:100%;display:grid}.planning-gantt-name,.planning-gantt-day{border-bottom:1px solid #ececec;border-right:1px solid #ececec;min-height:30px}.planning-gantt-name{z-index:2;white-space:nowrap;text-overflow:ellipsis;background:#fff;align-items:center;padding:0 .5rem;font-size:11px;font-weight:600;display:flex;position:sticky;left:0;overflow:hidden}.planning-gantt-head{min-height:28px;color:var(--ui-muted);background:#fafafa;font-size:10px;font-weight:700}.planning-gantt-day{justify-content:center;align-items:center;display:flex;position:relative}.planning-gantt-day.weekend{background:#f3f3f3}.planning-gantt-work{background:var(--baetica-navy);width:100%;height:14px;display:block}.planning-gantt-work.entregable{background:var(--baetica-teal,#80c0c3)}.planning-gantt-hito{background:var(--baetica-coral,#e38e75);border-radius:1px;width:10px;height:10px;display:block;transform:rotate(45deg)}@media (max-width:900px){.planning-form{grid-template-columns:90px 1fr 1fr}.planning-name{grid-column:span 2}.planning-description,.planning-dependency{grid-column:1/-1}}@media (max-width:620px){.planning-form{grid-template-columns:1fr 1fr}.planning-name,.planning-description,.planning-dependency,.planning-form-actions{grid-column:1/-1}}.planning-form-heading{grid-column:1/-1;align-items:baseline;gap:.6rem;padding-bottom:.15rem;display:flex}.planning-form-heading .help{margin:0}.planning-gantt-titlebar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.45rem;display:flex}.planning-gantt-titlebar h3{margin:0}.planning-drag-column{text-align:center;width:34px;min-width:34px}.planning-drag-handle{color:#7a848c;cursor:grab;-webkit-user-select:none;user-select:none;background:0 0;border:0;justify-content:center;align-items:center;width:24px;height:28px;font-size:18px;line-height:1;display:inline-flex}.planning-drag-handle:hover,.planning-drag-handle:focus-visible{color:var(--baetica-navy)}.planning-drag-handle:active{cursor:grabbing}.planning-row-dragging{opacity:.45}.planning-row-dragover{box-shadow:inset 0 2px 0 var(--baetica-green)}.planning-form{background:0 0;border:0;border-radius:0;gap:.6rem .75rem;padding:0}.planning-form label{color:#404040;margin-bottom:.2rem;font-size:13px;font-weight:500;line-height:18px;display:block}.planning-form label.required:after{content:" *";color:var(--danger);font-weight:800}.planning-form input,.planning-form select,.planning-form textarea{width:100%;min-height:34px;color:var(--ui-text);font-size:14px;line-height:20px;font-family:var(--bs-font-sans-serif);background-color:#fff;border:1px solid #dedede;border-radius:.42rem;padding:.38rem .55rem}.planning-form textarea{min-height:4.25rem}.planning-form input:focus,.planning-form select:focus,.planning-form textarea:focus{border-color:#a3a3a3;outline:0;box-shadow:0 0 0 2px #80ba2724}.planning-form input:disabled,.planning-form select:disabled,.planning-form textarea:disabled{color:#737373;background:#f5f5f5}.planning-header-toolbar{justify-content:space-between;align-items:flex-start}.planning-template-actions{flex-wrap:wrap;gap:.4rem;display:flex}.planning-template-import{border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);grid-template-columns:minmax(220px,1fr) 150px auto;align-items:end;gap:.6rem .75rem;margin:.65rem 0 .9rem;padding:.7rem 0;display:grid}.planning-template-import label{color:#404040;margin-bottom:.2rem;font-size:13px;font-weight:500;line-height:18px;display:block}.planning-template-import input,.planning-template-import select{width:100%;min-height:34px;color:var(--ui-text);background-color:#fff;border:1px solid #dedede;border-radius:.42rem;padding:.38rem .55rem;font-size:14px;line-height:20px}.planning-template-import input:focus,.planning-template-import select:focus{border-color:#a3a3a3;outline:0;box-shadow:0 0 0 2px #80ba2724}@media (max-width:700px){.planning-template-import{grid-template-columns:1fr}.planning-template-import-action .btn{width:100%}}
