/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#202329;--muted:#69717c;--line:#dde1e5;--canvas:#f5f6f7;--panel:#fff;--sidebar:#292b2f;--sidebar2:#36393e;--orange:#f36b21;--orange-dark:#db5812;--green:#178a4a;--amber:#c77c08}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.app-shell{grid-template-columns:228px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;z-index:20;background:linear-gradient(#24262a,#33363b);flex-direction:column;width:228px;height:100vh;display:flex;position:fixed}.brand{border-bottom:1px solid #ffffff16;align-items:center;gap:11px;height:76px;padding:0 20px;font-size:17px;display:flex}.brand-mark{border:2px solid var(--orange);width:30px;height:30px;color:var(--orange);border-radius:7px;place-items:center;font-weight:800;display:grid}.sidebar nav{gap:6px;padding:18px 10px;display:grid}.sidebar button{color:#d9dde1;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:13px;padding:12px 13px;display:flex}.sidebar button span{text-align:center;width:20px;font-size:19px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#484b50}.sidebar nav button.active{box-shadow:inset 3px 0 var(--orange)}.sidebar-bottom{border-top:1px solid #ffffff1c;margin-top:auto;padding:12px 10px}.user-mini{border-top:1px solid #ffffff1c;align-items:center;gap:10px;margin-top:6px;padding:14px 10px;display:flex}.user-mini div:last-child,.header-actions span{flex-direction:column;display:flex}.user-mini small,.header-actions small{color:#aeb4bb;margin-top:2px}.avatar{color:#333;background:#eceeef;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}main{grid-column:2;min-width:0}header{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 26px;display:flex;position:sticky;top:0}header p{color:#8a9098;letter-spacing:.1em;margin:0 0 3px;font-size:10px;font-weight:700}h1{margin:0;font-size:23px}.header-actions{align-items:center;gap:10px;font-size:12px;display:flex}.bell{background:#f1f2f3;border:0;border-radius:8px;width:38px;height:38px;position:relative}.bell i{background:var(--orange);color:#fff;border-radius:10px;padding:2px 5px;font-size:10px;position:absolute;top:-5px;right:-4px}.hamb{display:none}.content{max-width:1600px;margin:auto;padding:24px}.toolbar{grid-template-columns:1fr auto;gap:16px;margin-bottom:20px;display:grid}.search{background:#fff;border:1px solid #d3d7db;border-radius:8px;align-items:center;height:54px;padding:0 16px;display:flex;box-shadow:0 1px 2px #00000008}.search span{color:#6f7680;font-size:28px}.search input{background:0 0;border:0;outline:0;width:100%;padding:0 14px;font-size:15px}.primary,.secondary,.link{font:inherit;cursor:pointer;border:0;border-radius:8px;font-size:14px;font-weight:700}.primary{background:var(--orange);color:#fff;min-height:46px;padding:0 20px;box-shadow:0 3px 10px #f36b2130}.primary:hover{background:var(--orange-dark)}.secondary{color:#4d535b;background:#fff;border:1px solid #d5d9dd;padding:9px 14px}.link{color:#60666e;background:0 0}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.kpis article{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:15px;min-height:118px;padding:17px;display:flex}.kpis article.clickable{cursor:pointer}.kpis article.clickable:hover{border-color:#c5c9cd;box-shadow:0 3px 12px #0000000a}.ico{border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:21px;font-style:normal;font-weight:700;display:grid}.ico.gray{color:#44484d;background:#edeef0}.ico.purple{color:#6841b3;background:#f0ebfa}.ico.orange{color:var(--orange);background:#fff0e7}.ico.green{color:var(--green);background:#e8f6ec}.kpis article div{flex-direction:column;display:flex}.kpis span{font-size:13px;font-weight:600}.kpis strong{margin-top:2px;font-size:26px;line-height:1.2}.kpis small{color:var(--muted);font-size:11px}.main-grid{grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);gap:16px;display:grid}.main-grid.full{grid-template-columns:1fr}.panel{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:66px;padding:13px 16px;display:flex}.panel-head h2{margin:0;font-size:16px}.panel-head p{color:var(--muted);margin:4px 0 0;font-size:11px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#525962;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#fafafa;padding:11px 13px;font-size:10px}td{vertical-align:middle;border-top:1px solid #eaedef;padding:10px 13px}tbody tr{cursor:pointer}tbody tr:hover{background:#f7f8f8}td small{color:var(--muted);margin-top:4px;display:block}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tag{color:#18763e;background:#e6f4e9;border-radius:4px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-block}.tag.warn{color:#8f5a00;background:#fff0d6}.location{background:#f0f1f2;border:1px solid #dedfe1;border-radius:4px;padding:4px 7px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:50px}.move-row{border-bottom:1px solid #ebedef;align-items:center;gap:10px;padding:14px 15px;display:flex}.move-icon{color:#555;background:#edf0f2;border-radius:50%;place-items:center;width:31px;height:31px;font-weight:800;display:grid}.move-icon.entrada{color:var(--green);background:#e8f6ec}.move-icon.salida{color:var(--orange);background:#fff0e7}.move-icon.reserva{color:#6841b3;background:#f0ebfa}.move-main{flex-direction:column;flex:1;min-width:0;display:flex}.move-main b{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.move-main small,.move-meta small{color:var(--muted);margin-top:4px;font-size:9px}.move-meta{text-align:right;flex-direction:column;display:flex}.qty{color:#cf3e24;font-size:12px;font-weight:800}.qty.pos{color:var(--green)}.page-panel{max-width:1100px}.move-row.wide{padding:16px 20px}.move-row.wide .move-main b{font-size:13px}.move-row.wide .move-meta{grid-template-columns:40px 100px 70px;align-items:center;gap:12px;min-width:210px;display:grid}.section-title{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.section-title h2{margin:0;font-size:21px}.section-title p,.context-note{color:var(--muted);margin:5px 0;font-size:13px}.project-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.project{border:1px solid var(--line);background:#fff;border-radius:8px;padding:20px}.project>small{color:var(--muted);font-weight:700}.project h3{margin:8px 0;font-size:17px}.project p{color:var(--muted);min-height:34px;font-size:13px}.project>div{background:#f4f5f5;justify-content:space-between;margin:18px 0;padding:12px;font-size:12px;display:flex}.status{float:right;color:var(--green);background:#e6f4e9;border-radius:12px;padding:5px 8px;font-size:10px;font-weight:700}.report-grid{grid-template-columns:2fr 1fr;gap:16px;display:grid}.chart,.report-card{padding:22px}.chart h3{margin-top:0}.bar-row{grid-template-columns:150px 1fr 35px;align-items:center;gap:12px;margin:16px 0;font-size:12px;display:grid}.bar-row>div{background:#eef0f1;border-radius:5px;height:9px;overflow:hidden}.bar-row i{background:var(--orange);border-radius:5px;height:100%;display:block}.report-card{flex-direction:column;display:flex}.report-card>span{color:var(--muted);font-size:12px}.report-card>strong{margin:6px 0 18px;font-size:30px}.report-card p{color:var(--muted);font-size:13px;line-height:1.6}.report-card hr{border:0;border-top:1px solid var(--line);width:100%;margin:18px 0}.report-card b{margin-top:7px}.overlay{z-index:100;background:#15171ac2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:min(640px,100%);max-height:94vh;padding:25px;position:relative;overflow:auto;box-shadow:0 24px 80px #0005}.close{color:#6c7279;cursor:pointer;background:0 0;border:0;font-size:27px;position:absolute;top:13px;right:16px}.modal-title{align-items:center;gap:14px;margin-bottom:22px;padding-right:30px;display:flex}.modal-title h2{margin:0;font-size:20px}.modal-title p{color:var(--muted);margin:4px 0;font-size:12px}.modal-title .mono{font-size:11px}.form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form label{color:#51575f;font-size:11px;font-weight:700}.form input,.form select{width:100%;font:inherit;background:#fff;border:1px solid #d3d7db;border-radius:6px;outline:0;margin-top:6px;padding:11px;font-size:13px}.form input:focus,.form select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f36b211c}.span2{grid-column:span 2}.form-actions,.detail-actions{justify-content:flex-end;gap:9px;margin-top:8px;display:flex}.detail-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.detail-grid div{background:#f4f5f5;border:1px solid #e4e6e8;border-radius:7px;flex-direction:column;padding:14px;display:flex}.detail-grid span{color:var(--muted);margin-bottom:5px;font-size:10px}.detail-actions{margin-top:20px}.toast{color:#fff;z-index:200;background:#26292d;border-left:4px solid #37a566;border-radius:8px;padding:13px 18px;font-size:13px;position:fixed;bottom:22px;right:22px;box-shadow:0 10px 30px #0003}@media (width<=1100px){.kpis{grid-template-columns:1fr 1fr}.main-grid{grid-template-columns:1fr}.movements{display:none}.project-grid{grid-template-columns:1fr 1fr}}@media (width<=760px){.app-shell{display:block}.sidebar{transition:all .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:20px 0 60px #0006}main{width:100%}.hamb{background:#f0f1f2;border:0;border-radius:6px;width:38px;height:38px;display:block}header{height:68px;padding:0 14px}header h1{font-size:18px}.header-actions>span,.header-actions>.avatar{display:none}.content{padding:14px}.toolbar{grid-template-columns:1fr}.toolbar .primary{height:48px}.kpis{grid-template-columns:1fr 1fr;gap:9px}.kpis article{gap:10px;min-height:95px;padding:12px}.ico{width:38px;height:38px;font-size:17px}.kpis strong{font-size:20px}.kpis small{display:none}.table-wrap table{min-width:720px}.project-grid,.report-grid{grid-template-columns:1fr}.section-title{align-items:flex-start;gap:14px}.section-title .primary{white-space:nowrap}.form{grid-template-columns:1fr}.span2{grid-column:auto}.detail-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:105px 1fr 30px}.move-row.wide .move-meta{min-width:80px;display:flex}.move-row.wide .move-meta small:last-child{display:none}}.sync-banner{color:#80500a;background:#fff5e5;border:1px solid #f0c27a;border-radius:7px;margin:-4px 0 16px;padding:11px 14px;font-size:12px;font-weight:650}.sync-banner.neutral{color:#666b72;background:#fff;border-color:#d8dbde}.danger{color:#b3261e;font:inherit;cursor:pointer;background:#fff;border:1px solid #e1a19a;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:700}.danger:hover{background:#fff0ee}.detail-actions.split{align-items:center}.detail-actions.split span{flex:1}.move-icon.eliminación{color:#b3261e;background:#fff0ee}.move-icon.edición{color:#4b5158;background:#eef0f2}.form input:disabled{color:#777;cursor:not-allowed;background:#f1f2f3}.field-help{color:var(--muted);margin-top:5px;font-size:9px;font-weight:400;line-height:1.35;display:block}.auth-page{background:radial-gradient(circle at 70% 15%,#4b4e5320,#0000 36%),linear-gradient(135deg,#222428,#393c41);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border-radius:12px;width:min(440px,100%);padding:32px;box-shadow:0 28px 90px #0006}.auth-brand{align-items:center;gap:12px;margin-bottom:30px;display:flex}.auth-brand>div{flex-direction:column;display:flex}.auth-brand small{color:#858b92;letter-spacing:.12em;margin-top:3px;font-size:9px}.auth-card>h1{margin:0 0 8px;font-size:25px}.auth-card>p{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.55}.auth-form{gap:14px;display:grid}.auth-form label{color:#51575f;font-size:11px;font-weight:700}.auth-form input,.auth-form select{width:100%;font:inherit;background:#fff;border:1px solid #d3d7db;border-radius:7px;outline:0;margin-top:6px;padding:12px;font-size:13px}.auth-form input:focus,.auth-form select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f36b211c}.auth-form .primary{margin-top:4px}.auth-error{color:#9b2720;background:#fff0ee;border:1px solid #efb2ab;border-radius:6px;padding:10px;font-size:12px}.auth-note{color:#858b92;margin-top:18px;font-size:10px;line-height:1.5;display:block}.users-grid{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.user-row{border-bottom:1px solid #ebedef;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.user-row>div:nth-child(2){flex-direction:column;display:flex}.user-row small{color:var(--muted);margin-top:3px;font-size:10px}.role{color:#545b62;background:#edf0f2;border-radius:12px;padding:5px 8px;font-size:10px;font-weight:700}.role.admin{color:#b34c12;background:#fff0e7}.role.operator{color:#18763e;background:#e8f6ec}.user-create{padding:20px}.user-create h2{margin:0;font-size:17px}.user-create>p{color:var(--muted);margin-bottom:18px;font-size:11px;line-height:1.5}.role-select{color:#4f565d;font:inherit;cursor:pointer;background:#f1f3f4;border:1px solid #d6dade;border-radius:7px;padding:7px 28px 7px 9px;font-size:10px;font-weight:700}.role-select.admin{color:#a84610;background:#fff0e7;border-color:#f1c5aa}.role-select.operator{color:#18763e;background:#e8f6ec;border-color:#bfe1c9}.role-select.viewer{color:#545b62;background:#edf0f2}.categories-grid{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.category-row{border-bottom:1px solid #ebedef;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.category-row>div{flex-direction:column;display:flex}.category-row small{color:var(--muted);margin-top:3px;font-size:10px}.category-icon{width:34px;height:34px;color:var(--orange);background:#fff0e7;border-radius:8px;place-items:center;font-weight:800;display:grid}.danger.compact{padding:7px 10px;font-size:10px}.danger:disabled{opacity:.42;cursor:not-allowed;background:#f5f5f5}.category-create{padding:20px}.category-create h2{margin:0;font-size:17px}.category-create>p{color:var(--muted);margin-bottom:18px;font-size:11px;line-height:1.5}.category-help{background:#f4f5f5;border:1px solid #e3e5e7;border-radius:7px;margin-top:20px;padding:13px;font-size:11px}.category-help p{color:var(--muted);margin:5px 0 0;line-height:1.5}.primary:disabled{opacity:.5;cursor:not-allowed}@media (width<=760px){.auth-card{padding:24px}.users-grid,.categories-grid{grid-template-columns:1fr}}.project-activity{border:1px solid var(--line);border-radius:8px;margin-top:20px;overflow:hidden}.project-activity h3{border-bottom:1px solid var(--line);background:#fafafa;margin:0;padding:13px 15px;font-size:13px}.project-activity>p{color:var(--muted);text-align:center;margin:0;padding:24px 15px;font-size:12px}.project-activity .move-row:last-child{border-bottom:0}.project-status-form{background:#fff8f3;border:1px solid #f0c7ad;border-radius:8px;margin:0 0 20px;padding:16px}.project-status-form label{color:#51575f;font-size:11px;font-weight:700;display:block}.project-status-form select{width:100%;font:inherit;background:#fff;border:1px solid #d3d7db;border-radius:7px;margin-top:7px;padding:11px;font-size:13px}.project-updated{color:var(--muted);margin:10px 2px 0;font-size:10px}.status.en-pausa{color:#8f5a00;background:#fff0d6}.status.terminado{color:#545b62;background:#edf0f2}.status.cancelado{color:#a52c24;background:#fff0ee}
