:root{--fh: 28px;--gap: 8px;--fs: var(--fs-sm);--row: 32px;--pad: 12px;--content-max-width: 920px;--mobile-max-width: 480px;--bottom-navbar-height: 56px;--mobile-toolbar-height: 60px;--field-action-clearance: 76px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--duration-faster: .1s;--duration-fast: .15s;--duration-normal: .2s;--curve-fluent: cubic-bezier(.1, .9, .2, 1);--curve-ease-out: cubic-bezier(.16, 1, .3, 1);--z-nav: 40;--z-bottom-nav: 45;--z-sticky: 50;--z-dropdown: 60;--z-backdrop: 80;--z-dialog: 90;--z-toast: 100;--keyboard-offset: 0px}@media(max-height:800px){:root{--fh: 28px;--gap: 8px;--fs: var(--fs-sm);--row: 32px;--pad: 12px}}@media(max-width:767px){:root{--fh: 44px;--gap: 12px;--fs: var(--fs-md);--row: 44px;--pad: 12px}}:root{--color-bg: #f3f6fa;--color-surface: #ffffff;--color-surface-alt: #f8fafc;--color-surface-hover: #f2f4f7;--color-app-backdrop: #dde3ea;--color-line-soft: #edf2f7;--color-line: #e2e8ef;--color-line-strong: #d0d6de;--color-text: #1a1f2b;--color-muted: #565e6b;--color-placeholder: #7c8593;--color-disabled: #a9b1bd;--color-on-primary: #ffffff;--color-neutral-100: #fbfbfc;--color-neutral-200: #f2f4f7;--color-neutral-300: #e5e9ee;--color-neutral-400: #d0d6de;--color-neutral-500: #a9b1bd;--color-neutral-600: #7c8593;--color-neutral-700: #565e6b;--color-neutral-800: #313742;--color-neutral-900: #181c24;--color-primary: #0f6cbd;--color-primary-hover: #0c599c;--color-primary-active: #0a477c;--color-primary-soft: #eaf3fc;--color-primary-soft-hover: #cfe4f7;--color-primary-line: #a9d0f0;--color-danger: #d13438;--color-danger-soft: #fde7e9;--color-danger-soft-hover: #fad2d5;--color-danger-line: #f8afb4;--color-success: #107c41;--color-success-soft: #dff6dd;--color-success-line: #a2e1a2;--color-warning: #8e5800;--color-warning-soft: #fff4ce;--color-warning-line: #ffe285;--color-attention: #9a4400;--color-attention-soft: #fff0d4;--color-attention-line: #ffd6a5;--color-scrim: rgba(15, 23, 42, .45)}:root{--font-family-base: "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;--font-family-mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", Consolas, monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fs-label: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 22px;--fs-input-mobile: 16px}body{font-family:var(--font-family-base);font-size:var(--fs);font-weight:var(--fw-regular);line-height:1.4;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-base);font-weight:var(--fw-semibold);line-height:1.25;color:var(--color-text);margin:0}h1,h2{font-size:var(--fs-xl)}h3,h4{font-size:var(--fs-lg)}h5{font-size:var(--fs-md)}h6{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.05em}p{margin:0 0 var(--space-2)}:root{--shadow-sm: 0 1px 2px rgba(20, 30, 45, .08), 0 .5px 1.5px rgba(20, 30, 45, .05);--shadow-md: 0 4px 12px rgba(20, 30, 45, .1), 0 1px 3px rgba(20, 30, 45, .08);--shadow-lg: 0 16px 36px rgba(20, 30, 45, .18), 0 2px 6px rgba(20, 30, 45, .12);--shadow-dialog: 0 24px 48px rgba(10, 20, 35, .25), 0 4px 12px rgba(10, 20, 35, .12);--shadow-dock: 0 -2px 8px rgba(20, 30, 45, .05);--shadow-dock-strong: 0 -4px 12px rgba(20, 30, 45, .09);--shadow-glow-primary: 0 0 10px rgba(15, 108, 189, .35);--shadow-glow-danger: 0 0 10px rgba(209, 52, 56, .35)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;height:100dvh;margin:0;padding:0;background-color:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent;overflow:hidden;overscroll-behavior:none}[x-cloak]{display:none!important}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-radius:var(--radius-xs)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-200)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}.app-frame{display:contents}.app-shell{width:100%;max-width:var(--content-max-width);margin:0 auto;height:100vh;height:100dvh;display:flex;flex-direction:column;background-color:var(--color-bg);overflow:hidden;overscroll-behavior:none}.app-shell.is-mobile{max-width:var(--mobile-max-width);border-left:1px solid var(--color-line);border-right:1px solid var(--color-line);box-shadow:var(--shadow-md)}.app-shell>div,.main-container>div{display:contents}.main-container{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;overflow:hidden}@media(min-width:768px){.app-frame{display:flex;align-items:center;justify-content:center;height:100dvh;padding:var(--pad);background:var(--color-app-backdrop)}.app-frame>.app-shell{height:90%;border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog);animation:dialogIn var(--duration-fast) var(--curve-ease-out) both}}@keyframes dialogIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes sheetIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes fluentShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.animate-modal{animation:dialogIn var(--duration-fast) var(--curve-ease-out) both}.animate-toast{animation:toastIn var(--duration-fast) var(--curve-ease-out) forwards}.animate-shake{animation:fluentShake .35s var(--curve-fluent) both}.transition-all{transition:all var(--duration-fast) var(--curve-fluent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--fh);padding:0 var(--space-4);cursor:pointer;text-decoration:none;font-family:var(--font-family-base);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.2;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:background-color var(--duration-faster) ease,border-color var(--duration-faster) ease,transform 60ms ease;-webkit-user-select:none;user-select:none}.btn svg{display:block;flex-shrink:0}.btn:hover{background-color:var(--color-neutral-200)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-active)}.btn-secondary{background:var(--color-surface);border-color:var(--color-line);color:var(--color-text)}.btn-secondary:hover{background:var(--color-neutral-200);border-color:var(--color-line-strong)}.btn-ghost{color:var(--color-primary);background:transparent;border-color:transparent;box-shadow:none;padding-inline:var(--space-2)}.btn-ghost:hover{background:var(--color-primary-soft)}.btn-ghost.text-danger:hover,.btn-icon.btn-ghost.text-danger:hover{background:var(--color-danger-soft)}.btn-danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-line)}.btn-danger:hover{background:var(--color-danger-soft-hover);border-color:var(--color-danger)}.btn-icon{width:var(--fh);height:var(--fh);padding:0}.btn-block{width:100%}.btn-sm{min-height:calc(var(--fh) - var(--space-2));padding:0 var(--space-3);font-size:var(--fs-label)}.btn-sm.btn-icon{width:calc(var(--fh) - var(--space-2));height:calc(var(--fh) - var(--space-2));padding:0}.field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;margin:0;padding:0;border:0}.field>label,.field>legend{padding:0;font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--color-muted)}.input{width:100%;min-height:var(--fh);padding:0 var(--space-3);font-family:inherit;font-size:var(--fs);color:var(--color-text);caret-color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-line);border-bottom:1.5px solid var(--color-neutral-500);border-radius:var(--radius-sm);outline:none;transition:border-color var(--duration-faster) ease,box-shadow var(--duration-faster) ease}.input::placeholder{color:var(--color-placeholder);opacity:1}.input:hover{border-color:var(--color-neutral-600)}.input:focus{border-color:var(--color-primary);border-bottom-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.input:disabled{background-color:var(--color-neutral-200);color:var(--color-disabled);cursor:not-allowed;border-color:var(--color-line)}textarea.input{min-height:calc(var(--fh) * 2.2);padding:var(--space-2) var(--space-3);line-height:1.4;resize:vertical}textarea.input.input-autogrow{min-height:var(--fh);height:auto;line-height:1.35;padding-top:calc((var(--fh) - 1.35em) / 2);padding-bottom:calc((var(--fh) - 1.35em) / 2);resize:none!important;overflow:hidden;white-space:pre-wrap;word-break:break-word;field-sizing:content}select.input{cursor:pointer}@media(max-width:767px){.input,select.input,textarea.input{font-size:var(--fs-input-mobile)}}.field-affix{position:relative;display:flex;align-items:center;width:100%;--affix-space: var(--space-8)}.field-affix .input{padding-right:var(--affix-space)}.field-affix.has-action{--affix-space: var(--field-action-clearance)}.field-affix.has-status{--affix-space: var(--space-6)}.field-affix.has-toggle{--affix-space: var(--space-10)}.field-affix-status{position:absolute;right:var(--space-2);pointer-events:none}.field-affix-btn{position:absolute;right:var(--space-2);display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1);color:var(--color-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-faster) ease}.field-affix-btn:hover{color:var(--color-text)}.field-affix.has-leading{--affix-leading-space: var(--space-10)}.field-affix.has-leading .input{padding-left:var(--affix-leading-space)}.field-affix-leading{position:absolute;left:var(--space-3);color:var(--color-muted);pointer-events:none}.date-picker-icon-btn{position:absolute;right:var(--space-1);display:inline-flex;align-items:center;justify-content:center;width:calc(var(--fh) - var(--space-3));height:calc(var(--fh) - var(--space-3));padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-placeholder);cursor:pointer;pointer-events:none;transition:color var(--duration-faster) ease}.date-picker-native-hidden{position:absolute;right:var(--space-1);width:calc(var(--fh) - var(--space-3));height:calc(var(--fh) - var(--space-3));opacity:0;cursor:pointer;z-index:2}.field-affix:hover .date-picker-icon-btn{color:var(--color-primary)}.radio{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--fh);font-size:var(--fs);cursor:pointer;-webkit-user-select:none;user-select:none}.radio input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:18px;height:18px;flex-shrink:0;border-radius:var(--radius-full);border:1.5px solid var(--color-neutral-600);background:var(--color-surface);transition:border-color var(--duration-faster) ease,box-shadow var(--duration-faster) ease}.radio:hover .dot{border-color:var(--color-primary)}.radio input:checked+.dot{border-color:var(--color-primary);box-shadow:inset 0 0 0 5px var(--color-primary)}.radio input:focus-visible+.dot{outline:2px solid var(--color-primary);outline-offset:2px}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--pad);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-line);box-shadow:var(--shadow-sm)}.card-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.kbd{display:inline-flex;align-items:center;padding:0 var(--space-1);font-family:var(--font-family-mono);font-size:var(--fs-label);font-weight:var(--fw-medium);line-height:1.6;color:var(--color-muted);background:var(--color-neutral-200);border:1px solid var(--color-line);border-radius:var(--radius-sm);white-space:nowrap}.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2);font-size:var(--fs-label);font-weight:var(--fw-semibold);line-height:1.3;letter-spacing:.02em;border:1px solid transparent;border-radius:var(--radius-full);white-space:nowrap}.tag-primary{background:var(--color-primary-soft);color:var(--color-primary-active);border-color:var(--color-primary-line)}.tag-neutral,.tag-muted{background:var(--color-neutral-200);color:var(--color-neutral-800);border-color:var(--color-neutral-400)}.tag-success{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-line)}.tag-warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-line)}.tag-attention{background:var(--color-attention-soft);color:var(--color-attention);border-color:var(--color-attention-line)}.tag-danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-line)}.chips{display:flex;align-items:center;gap:var(--space-1-5);flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:calc(var(--fh) - var(--space-2));padding:0 var(--space-3);font-family:inherit;font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-full);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-faster) ease,border-color var(--duration-faster) ease,color var(--duration-faster) ease}.chip:hover{background:var(--color-neutral-200);color:var(--color-text)}.chip.is-active,.chip[aria-pressed=true]{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-active)}.chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 var(--space-1);font-size:var(--fs-label);font-weight:var(--fw-bold);line-height:1.5;color:var(--color-muted);background:var(--color-neutral-200);border-radius:var(--radius-full)}.chip[aria-pressed=true] .chip-count,.chip.is-active .chip-count{color:var(--color-on-primary);background:var(--color-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);margin:auto;text-align:center;color:var(--color-muted)}.empty-state .icon{--icon-size: 40px;stroke-width:1.25;color:var(--color-neutral-400)}.empty-state-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--color-text);margin:0}.empty-state-text{font-size:var(--fs-sm);color:var(--color-muted);max-width:44ch;margin:0}.table-scroll{flex:1 1 0%;min-height:0;overflow:auto;scrollbar-width:thin}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs)}.table thead th{position:sticky;top:0;z-index:1;text-align:left;font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);padding:var(--space-2) var(--space-3);background:var(--color-surface);box-shadow:inset 0 -1px 0 var(--color-line);white-space:nowrap}.table td{height:var(--row);padding:0 var(--space-3);border-bottom:1px solid var(--color-line-soft);color:var(--color-text);vertical-align:middle}.table tbody tr:hover{background:var(--color-surface-hover)}.alert-box{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3-5);border-radius:var(--radius-md);font-size:var(--fs-label);font-weight:var(--fw-medium)}.alert-box.alert-danger{background:var(--color-danger-soft);border:1px solid var(--color-danger-line);color:var(--color-danger)}.spinner{width:14px;height:14px;border:2px solid var(--color-primary-soft-hover);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.icon{display:block;flex-shrink:0;width:var(--icon-size, 16px);height:var(--icon-size, 16px);fill:none;stroke:currentColor;stroke-width:2;pointer-events:none}.icon-sm{--icon-size: 14px}.icon-lg{--icon-size: 20px}.toast{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-2);max-width:min(90vw,480px);padding:var(--space-2-5) var(--space-4);font-size:var(--fs-sm);color:var(--color-neutral-100);background:var(--color-neutral-900);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}@media(max-width:767px){.toast{bottom:calc(var(--bottom-navbar-height) + var(--mobile-toolbar-height) + var(--space-3))}}.toast-dot{width:8px;height:8px;flex-shrink:0;border-radius:var(--radius-full)}.dot-success{background:var(--color-success-line)}.dot-error{background:var(--color-danger-line)}.dot-info{background:var(--color-primary-line)}.dot-warning{background:var(--color-warning-line)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-scrim);backdrop-filter:blur(6px) saturate(1.1);-webkit-backdrop-filter:blur(6px) saturate(1.1);animation:fadeIn var(--duration-fast) ease both}.modal-panel-wrap{display:flex;width:100%;min-height:0;max-height:100%}.modal-panel-wrap.is-sm{max-width:460px}.modal-panel-wrap.is-md{max-width:660px}.modal-panel-wrap.is-lg{max-width:920px}.modal-panel{position:relative;z-index:var(--z-dialog);display:flex;flex-direction:column;width:100%;min-height:0;max-height:100%;padding:var(--pad);gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog)}.modal-panel:focus{outline:none}.modal-panel>div:not([class]),.modal-panel>div:not([class])>div:not([class]){display:contents}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-shrink:0}.modal-title-wrap{display:flex;align-items:center;gap:var(--space-2);min-width:0}.modal-title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--fs);color:var(--color-text);line-height:1.5}.modal-body.is-plain{display:block}.modal-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);flex-shrink:0;padding-top:var(--space-2);border-top:1px solid var(--color-line)}.modal-grabber{display:none}@media(max-width:767px){.modal-backdrop{align-items:flex-end;padding:0;bottom:var(--keyboard-offset, 0px);height:auto;transition:bottom var(--duration-fast) ease}.modal-panel-wrap,.modal-panel-wrap.is-sm,.modal-panel-wrap.is-md,.modal-panel-wrap.is-lg{max-width:100%}.modal-panel{max-height:min(92dvh,100%);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-bottom:0;padding-bottom:calc(var(--pad) + env(safe-area-inset-bottom,0px));animation:sheetIn var(--duration-normal) var(--curve-ease-out) both}.modal-grabber{display:block;width:36px;height:4px;margin:0 auto var(--space-1);flex-shrink:0;background:var(--color-neutral-400);border-radius:var(--radius-full)}}.app-navbar{height:calc(var(--fh) + var(--space-8));background:var(--color-surface);border-bottom:1px solid var(--color-line);display:flex;align-items:center;justify-content:center;padding:0 var(--space-5);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-nav);box-sizing:border-box}.navbar-banner-wrap{display:flex;align-items:center;justify-content:center;height:100%;width:100%;padding:var(--space-1) 0;-webkit-user-select:none;user-select:none}.navbar-banner-img{height:calc(var(--fh) + var(--space-6));max-height:calc(100% - var(--space-1));max-width:100%;object-fit:contain;object-position:center;border-radius:var(--radius-sm);transition:opacity .2s ease;display:block}.navbar-banner-fallback{height:38px;padding:0 var(--space-3-5);background:var(--color-primary-soft);border:1px solid var(--color-primary-soft-hover);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.banner-badge-text{font-size:var(--fs-label);font-weight:var(--fw-bold);color:var(--color-primary);letter-spacing:.08em}@media(max-width:767px){.app-navbar{height:56px;padding:0 var(--space-3)}.navbar-banner-wrap{width:100%;justify-content:center}.navbar-banner-img{max-height:48px;max-width:100%;object-position:center}.navbar-banner-fallback{max-width:100%;overflow:hidden}}.bottom-navbar{position:fixed;left:0;right:0;bottom:0;height:var(--bottom-navbar-height);display:flex;align-items:stretch;background:var(--color-surface);border-top:1px solid var(--color-line);box-shadow:var(--shadow-dock-strong);z-index:var(--z-bottom-nav);box-sizing:border-box}.bottom-navbar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-0-5);min-height:44px;padding:var(--space-1);font-family:var(--font-family-base);font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--color-muted);background:transparent;border:none;cursor:pointer;transition:color var(--duration-faster) ease,background-color var(--duration-faster) ease}.bottom-navbar-item:active{background:var(--color-neutral-200)}.bottom-navbar-item:disabled{opacity:.4;cursor:not-allowed}.bottom-navbar-item svg{flex-shrink:0}.search-body-scroll{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:var(--space-2)}.search-results-count{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.search-advanced-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-1)}.search-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-3)}@media(max-width:767px){.search-fields-grid{grid-template-columns:1fr}.search-fields-grid>div{grid-column:span 1!important}}.search-results-list{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2);background:var(--color-surface-alt)}.search-result-row{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-line);background:var(--color-surface);cursor:pointer;transition:all var(--duration-faster) ease}.search-result-row:hover{background:var(--color-surface-hover);border-color:var(--color-neutral-400)}.search-result-row.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.search-result-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.search-result-details{font-size:var(--fs-label);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-0-5) var(--space-3);margin-top:var(--space-1)}.search-result-details>div{min-width:0;overflow-wrap:break-word}@media(max-width:767px){.search-result-details{grid-template-columns:1fr}}.work-renew-notice{padding:var(--space-2-5);margin-bottom:var(--space-3);font-size:var(--fs-sm);color:var(--color-primary-active);background:var(--color-primary-soft);border:1px solid var(--color-primary-soft-hover);border-radius:var(--radius-md)}.trabajos-subtitle{flex:none;margin:calc(var(--space-2) * -1) 0 0}.trabajos-chips{flex:none;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-line)}.trabajos-chips::-webkit-scrollbar{display:none}.trabajos-chips .chip{flex:none}.trabajos-list{display:flex;flex-direction:column;gap:var(--space-2-5);padding-top:var(--space-3);overscroll-behavior:contain}.trabajos-month{position:sticky;top:0;z-index:1;margin:0 0 var(--space-2);padding:var(--space-1) 0;font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--color-muted);background:var(--color-surface)}.job-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden}.job-card.is-attention{border-left:4px solid var(--color-attention)}.job-card.is-danger{border-left:4px solid var(--color-danger)}.job-card-main{display:flex;flex-direction:column;gap:var(--space-1-5);width:100%;padding:var(--space-3) var(--space-3-5);font-family:inherit;font-size:var(--fs);color:var(--color-text);text-align:left;background:transparent;border:0;cursor:pointer}.job-card-main:active{background:var(--color-surface-hover)}.job-card-r1{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.job-card-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-card-cost{font-family:var(--font-family-mono);font-size:var(--fs-lg);font-weight:var(--fw-bold);white-space:nowrap}.job-card-r2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-muted)}.job-card-r3{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-1)}.job-card-chevron{color:var(--color-muted);transition:transform var(--duration-fast) var(--curve-fluent)}.job-card-main[aria-expanded=true] .job-card-chevron{transform:rotate(180deg)}.job-card-renew{padding:0 var(--space-3-5) var(--space-3)}.job-card-detail{padding:var(--space-3) var(--space-3-5);border-top:1px solid var(--color-line);background:var(--color-surface-alt)}.job-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2-5) var(--space-4);margin:0 0 var(--space-3)}.job-card-grid dt{margin-bottom:2px;font-size:var(--fs-sm);color:var(--color-muted)}.job-card-grid dd{margin:0;font-size:var(--fs-md);font-weight:var(--fw-medium)}.job-card-confirm{margin:0 0 var(--space-2-5);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--color-text)}.job-card-actions{display:flex;gap:var(--space-2)}.job-card-actions .btn{min-height:var(--fh);font-size:var(--fs-md)}.trabajos-foot{justify-content:stretch}@media(min-width:768px){.job-card-grid{grid-template-columns:repeat(4,1fr)}.job-card-actions{justify-content:flex-end}.job-card-actions .btn{flex:0 0 auto}}.docs-client-bar{background:var(--color-neutral-100);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.docs-client-info{display:flex;align-items:center;gap:var(--space-1-5);min-width:0}.docs-client-name{color:var(--color-text);font-size:var(--fs-sm)}.docs-upload-card{background:var(--color-surface)}.docs-dropzone{border:2px dashed var(--color-neutral-400);border-radius:var(--radius-lg);background:var(--color-neutral-100);padding:var(--space-4) var(--space-4);text-align:center;cursor:pointer;transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease,transform var(--duration-fast) ease;-webkit-user-select:none;user-select:none}.docs-dropzone:hover,.docs-dropzone.is-dragging{border-color:var(--color-primary);background-color:var(--color-primary-soft)}.docs-dropzone.has-file{padding:var(--space-2);cursor:default}.dropzone-content{display:flex;flex-direction:column;align-items:center;justify-content:center}.dropzone-icon{color:var(--color-primary);margin-bottom:var(--space-1-5)}.dropzone-selected-pill{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);gap:var(--space-2)}.docs-selected-pill-name,.docs-selected-pill-name span.truncate{min-width:0;flex:1}.docs-mobile-upload-box{margin-bottom:var(--space-2)}.docs-mobile-trigger-btn{display:flex;align-items:center;width:100%;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);background:var(--color-surface);border:1px dashed var(--color-line-strong);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}.docs-mobile-trigger-btn:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.docs-mobile-trigger-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);flex-shrink:0}.docs-mobile-trigger-info{display:flex;flex-direction:column;gap:var(--space-0-5);flex:1;min-width:0}.docs-selected-panel{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-2)}.docs-upload-form-row{display:flex;align-items:flex-end;gap:var(--space-2);flex-wrap:wrap}.docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);max-height:440px;overflow-y:auto;padding:var(--space-0-5)}.doc-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,transform var(--duration-fast) ease;box-shadow:var(--shadow-sm);position:relative}.doc-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.doc-card.is-editing{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft-hover)}.doc-card-main{display:flex;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);align-items:flex-start;flex:1}.doc-card-preview{width:76px;height:76px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--color-neutral-200);border:1px solid var(--color-line-soft);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.doc-card-thumb-img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-normal) ease}.doc-card:hover .doc-card-thumb-img{transform:scale(1.06)}.doc-icon-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.doc-icon-pdf{color:var(--color-danger)}.doc-icon-excel{color:var(--color-success)}.doc-icon-word{color:var(--color-primary)}.doc-icon-generic{color:var(--color-neutral-500)}.doc-badge-pill{font-size:var(--fs-label);font-weight:var(--fw-bold);font-family:var(--font-family-mono);padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-sm);background:var(--color-neutral-300);color:var(--color-neutral-700);line-height:1.1}.doc-icon-pdf .doc-badge-pill{background:var(--color-danger-soft);color:var(--color-danger)}.doc-icon-excel .doc-badge-pill{background:var(--color-success-soft);color:var(--color-success)}.doc-icon-word .doc-badge-pill{background:var(--color-primary-soft);color:var(--color-primary-active)}.doc-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);color:var(--color-on-primary);font-size:var(--fs-label);font-weight:var(--fw-semibold);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-fast) ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.doc-card-preview:hover .doc-card-overlay{opacity:1}.doc-card-body{flex:1;min-width:0}.doc-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-1-5)}.doc-card-title{color:var(--color-text);font-size:var(--fs-sm);line-height:1.35;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.doc-card-desc-box{background:var(--color-neutral-100);border:1px solid var(--color-line-soft);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);margin-top:var(--space-1);word-break:break-word}.doc-desc-label{margin-right:var(--space-1)}.doc-desc-text{color:var(--color-text)}.doc-card-edit-box{background:var(--color-neutral-100);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--space-2);margin-top:var(--space-1)}.doc-card-meta{color:var(--color-neutral-600);font-size:var(--fs-label)}.doc-card-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--color-line-soft);padding:var(--space-1-5) var(--space-2-5);background:var(--color-neutral-100);gap:var(--space-1-5);flex-wrap:wrap}.doc-action-btn{font-size:var(--fs-label);padding:var(--space-1) var(--space-2);min-height:28px;gap:var(--space-1)}@media(max-width:767px){.docs-grid{grid-template-columns:1fr;gap:var(--space-2-5)}.doc-card-main{padding:var(--space-2) var(--space-2-5);gap:var(--space-2-5)}.doc-card-preview{width:68px;height:68px}.doc-card-actions{padding:var(--space-1-5) var(--space-2)}.doc-action-btn{padding:var(--space-1) var(--space-1-5)}.docs-upload-form-row button{width:100%}}.config-menu-list{display:flex;flex-direction:column;gap:var(--space-1)}.config-menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background-color var(--duration-faster) ease,border-color var(--duration-faster) ease}.config-menu-item:hover{background:var(--color-neutral-200);border-color:var(--color-neutral-400)}.config-menu-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);flex-shrink:0}.config-menu-item.text-danger .config-menu-icon{background:var(--color-danger-soft);color:var(--color-danger)}.config-menu-label{display:flex;flex-direction:column;gap:var(--space-0-5);flex:1;min-width:0}.config-menu-chevron{flex-shrink:0;color:var(--color-placeholder)}.currency-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:240px;overflow-y:auto;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--color-surface-alt)}.currency-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1-5) 0;border-bottom:1px solid var(--color-line);flex-wrap:wrap;gap:var(--space-2)}.currency-row>div{min-width:0;overflow-wrap:break-word}.currency-row:last-child{border-bottom:none}.currency-field-name{flex:2;min-width:120px}.currency-field-symbol{flex:1;min-width:90px}.banner-preview-box{background:var(--color-surface-alt);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);padding:var(--space-3)}.banner-preview-canvas{display:flex;flex-direction:column;align-items:flex-start;min-height:48px;background:var(--color-surface);border:1px dashed var(--color-line-strong);border-radius:var(--radius-sm);padding:var(--space-1-5) var(--space-3)}.banner-preview-img{height:48px;max-width:100%;object-fit:contain;object-position:left center;border-radius:var(--radius-sm);transition:opacity .2s ease}.banner-upload-box{background:var(--color-surface-alt);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);padding:var(--space-3)}.banner-upload-box .truncate,.banner-upload-box input[type=text]{flex:1;min-width:0}.settings-info-card{display:flex;flex-direction:column;padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border:1px solid var(--color-line-strong);border-radius:var(--radius-md)}.settings-info-icon{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.agenda-tabs-strip{display:flex;align-items:center;gap:var(--space-1);border-bottom:1px solid var(--color-line);padding-bottom:var(--space-0-5);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.agenda-tab-btn{padding:var(--space-1-5) var(--space-3-5);font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--color-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--curve-fluent);border-radius:var(--radius-xs) var(--radius-xs) 0 0}.agenda-tab-btn:hover{color:var(--color-text);background:var(--color-surface-hover)}.agenda-tab-btn.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--fw-semibold);background:var(--color-primary-soft)}.agenda-tab-add{padding:var(--space-1) var(--space-2-5);font-size:var(--fs-lg);font-weight:700;color:var(--color-primary);background:var(--color-surface-hover);border:1px dashed var(--color-line-strong);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) ease}.agenda-tab-add:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.agenda-new-tab-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-surface-alt);border-radius:var(--radius-sm);margin-top:var(--space-2)}.agenda-editor-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:var(--space-1)}.agenda-editor-area{flex:1;min-height:320px;margin-top:var(--space-3);display:flex;flex-direction:column}.agenda-textarea{width:100%;flex:1;min-height:320px;padding:var(--space-3);font-family:var(--font-family-base);font-size:var(--fs-md);line-height:1.6;color:var(--color-text);background:var(--color-surface-alt);border:1px solid var(--color-line);border-radius:var(--radius-md);resize:vertical;box-sizing:border-box}.agenda-textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 1px var(--color-primary)}.agenda-tab-menu{position:relative}.agenda-tab-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);min-width:170px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1);z-index:var(--z-dropdown)}.agenda-tab-menu-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-label);color:var(--color-text);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer}.agenda-tab-menu-item:hover{background:var(--color-neutral-200)}.agenda-modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.agenda-status-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-success);display:inline-block;transition:background-color var(--duration-fast) ease}.agenda-status-dot.is-saving{background:var(--color-warning);animation:pulseGlow 1s infinite}@media(max-width:767px){.agenda-editor-area{min-height:294px;overflow:hidden;margin-top:var(--space-1);display:flex;flex-direction:column}.agenda-editor-area>.d-flex.flex-col{flex:1;min-height:0;display:flex;flex-direction:column}.agenda-textarea{font-size:var(--fs-input-mobile);flex:1;height:294px;min-height:294px;resize:none}.agenda-tab-btn{font-size:var(--fs-sm)}}.notepad-editor-wrap{flex:1;min-height:320px;margin-top:var(--space-3);display:flex}.notepad-textarea{width:100%;min-height:320px;flex:1;padding:var(--space-4);font-family:var(--font-family-base);font-size:var(--fs-sm);line-height:1.65;color:var(--color-text);background:var(--color-neutral-100);border:1px solid var(--color-line);border-radius:var(--radius-md);resize:vertical;box-sizing:border-box}.notepad-textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 1px var(--color-primary)}.notepad-modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-line)}@media(max-width:767px){.notepad-textarea{font-size:var(--fs-input-mobile);line-height:1.7;padding:var(--space-3)}}.alerts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-surface-alt);border-bottom:1px solid var(--color-line);flex-wrap:wrap}.alerts-toolbar-left,.alerts-toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.alerts-body-scroll{flex:1;overflow-y:auto;padding:var(--space-3-5) var(--space-4);background:var(--color-bg)}.alerts-card-list{display:flex;flex-direction:column;gap:var(--space-2-5)}.alert-card{background:var(--color-surface);border:1px solid var(--color-line);border-left:4px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);transition:all .2s ease}.alert-card:hover{border-color:var(--color-primary-line);border-left-color:var(--color-danger);box-shadow:var(--shadow-md)}.alert-card-main{flex:1;min-width:0}.alert-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1-5)}.alert-client-wrap{display:flex;align-items:center;gap:var(--space-2);min-width:0}.unread-dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--color-danger);flex-shrink:0;display:inline-block;box-shadow:0 0 0 2px var(--color-danger-soft)}.alert-client-btn{background:transparent;border:none;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--color-primary);text-align:left;line-height:1.3}.alert-client-btn:hover{color:var(--color-primary-hover);text-decoration:underline}.alert-card-badges{display:flex;align-items:center;gap:var(--space-1-5);flex-shrink:0}.alert-service-desc{font-size:var(--fs-sm);color:var(--color-text);margin:0 0 var(--space-1-5) 0;line-height:1.4;word-break:break-word}.alert-meta-line{font-size:var(--fs-label);color:var(--color-muted);margin:0;line-height:1.3;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-0-5)}.meta-sep{color:var(--color-line);margin:0 var(--space-1)}.alert-card-action{flex-shrink:0;display:flex;align-items:center;gap:var(--space-1-5);flex-wrap:wrap}.btn-check-attended:hover{background-color:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.btn-check-attended:hover .icon{transform:scale(1.1)}.btn-check-attended svg{transition:transform .15s ease}.alerts-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-line)}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:spin .8s linear infinite}@media(max-width:767px){.alert-card{flex-direction:column;align-items:stretch;gap:var(--space-3)}.alert-card-action{display:flex}.alert-card-action .btn-check-attended{width:100%;justify-content:center;padding:var(--space-2) var(--space-3)}}.install-intro{margin:0;color:var(--color-muted)}.install-steps{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.install-step{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md)}.install-step-num{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;font-size:var(--fs-label);font-weight:var(--fw-bold);line-height:1;color:var(--color-on-primary);background:var(--color-primary);border-radius:var(--radius-full)}.install-step-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary)}.install-step-text{flex:1;min-width:0;line-height:1.4}.security-tabs{display:flex;gap:var(--space-2);background:var(--color-surface-hover);padding:var(--space-1);border-radius:var(--radius-lg);border:1px solid var(--color-line)}.security-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--duration-fast) var(--curve-fluent)}.security-tab-btn:hover{color:var(--color-text)}.security-tab-btn.is-active{background:var(--color-surface);color:var(--color-primary);font-weight:var(--fw-semibold);box-shadow:var(--shadow-sm)}.security-tab-content{display:flex;flex-direction:column;gap:var(--space-4)}.security-status-card{padding:var(--space-3) var(--space-4);background:var(--color-surface-hover);border:1px solid var(--color-line);border-radius:var(--radius-lg)}.auth-lockscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 15%,var(--color-surface) 0%,var(--color-bg) 85%);padding:var(--space-4);box-sizing:border-box}.auth-card{width:100%;max-width:370px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-2xl);padding:var(--space-8) var(--space-6) var(--space-6);display:flex;flex-direction:column;align-items:center;box-shadow:var(--shadow-lg);box-sizing:border-box}.auth-icon-wrap{width:58px;height:58px;border-radius:var(--radius-xl);background:var(--color-primary-soft);border:1px solid var(--color-primary-soft-hover);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3);color:var(--color-primary)}.auth-icon{width:28px;height:28px}.auth-title{color:var(--color-text);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0;letter-spacing:-.01em}.auth-subtitle{color:var(--color-muted);font-size:var(--fs-label);margin:var(--space-1) 0 0;text-align:center}.auth-form{display:flex;flex-direction:column;gap:var(--gap);width:100%;margin-top:var(--space-5)}.auth-form>.btn{width:100%}.auth-status-area{min-height:32px;display:flex;align-items:center;justify-content:center;width:100%}.auth-error-badge{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-full);background:var(--color-danger-soft);border:1px solid var(--color-danger-line);color:var(--color-danger);font-size:var(--fs-label);font-weight:var(--fw-medium);text-align:center}.auth-loading-badge{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary);font-size:var(--fs-label);font-weight:var(--fw-medium)}.auth-recovery-link{margin-top:var(--space-4);background:transparent;border:none;color:var(--color-muted);font-size:var(--fs-label);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color var(--duration-fast)}.auth-recovery-link:hover{color:var(--color-primary)}.recovery-code-input{text-align:center;font-family:var(--font-family-mono);font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--space-1-5)}.client-file-page{display:flex;flex-direction:column;flex:1 1 0%;height:100%;min-height:0;overflow:hidden}.client-top-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--pad);background:var(--color-surface);border-bottom:1px solid var(--color-line);box-shadow:var(--shadow-sm);z-index:10}.client-top-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.btn-alerts{position:relative}.client-alert-badge{position:absolute;top:-4px;right:-4px;background-color:var(--color-danger);color:var(--color-on-primary);font-size:var(--fs-label);font-weight:var(--fw-bold);line-height:1;padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-full);min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--color-surface);pointer-events:none}.client-file-content{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;gap:var(--gap);padding:0 0 var(--space-1-5) 0;overflow:hidden}.ficha{flex:none;gap:0}.ficha-body{display:grid;grid-template-columns:minmax(0,1fr) 156px;gap:0 var(--pad);align-items:stretch}.ficha-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap) var(--space-4)}.ficha-form-col{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.field-phones-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2)}.observaciones-textarea{flex:1;min-height:calc(var(--fh) * 1.5);resize:vertical}.ficha .input-autogrow{resize:none!important}.ficha-actions{display:flex;flex-direction:column;gap:var(--space-2);align-self:start;padding-top:calc(var(--fs-label) * 1.35 + var(--space-1))}.ficha-actions .btn{height:var(--fh);justify-content:flex-start;padding-inline:var(--space-3)}.ficha-actions .kbd{margin-left:auto}.jobs{flex:1 1 0%;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;gap:0}.jobs-head{flex:none;display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--pad);border-bottom:1px solid var(--color-line)}.jobs-table .job-desc{white-space:normal;min-width:200px}.jobs-table th:first-child,.jobs-table td:first-child{padding-left:var(--pad)}.jobs-table th:last-child,.jobs-table td:last-child{padding-right:var(--pad)}.jobs-table tr.is-due td{background:var(--color-attention-soft)}.jobs-table tr.is-due:hover td{background:var(--color-surface-hover)}.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-1-5)}.renew-slot{display:inline-block;min-width:78px;text-align:right}.row-menu-wrap{position:relative}.row-menu{position:absolute;right:0;top:calc(100% + var(--space-1));z-index:var(--z-dropdown);min-width:190px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);text-align:left}.row-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:calc(var(--fh) - var(--space-2));padding:0 var(--space-2);font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.row-menu-item:hover{background:var(--color-neutral-200)}.row-menu-item.text-danger:hover{background:var(--color-danger-soft)}.client-dock{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--pad);background:var(--color-surface);border-top:1px solid var(--color-line);box-shadow:var(--shadow-dock);z-index:10}.dock-left{display:flex;align-items:center;gap:var(--space-2)}.dock-right{display:flex;align-items:center;gap:var(--space-1-5)}.ficha .input:disabled{background-color:var(--color-surface);color:var(--color-text);cursor:default;border-color:var(--color-line);border-bottom-color:var(--color-neutral-400);opacity:1;-webkit-user-select:text;user-select:text}.ficha .input:disabled:hover,.ficha .input:disabled:focus{box-shadow:none;border-color:var(--color-line);border-bottom-color:var(--color-neutral-400);outline:none}.field-link-input{display:flex;align-items:center;gap:var(--space-2);min-height:var(--fh);padding:var(--space-1) var(--space-3);font-family:inherit;font-size:var(--fs);color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-line);border-bottom:1.5px solid var(--color-neutral-400);border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;word-break:break-all;line-height:1.35;transition:all var(--duration-faster) ease}.field-link-input:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}.field-link-input .field-link-text{text-decoration:underline;text-underline-offset:3px;word-break:break-all}.field-link-input:hover .field-link-text{color:var(--color-primary-hover)}.field-link-input.is-empty{color:var(--color-muted);cursor:default}.field-link-input.is-empty .field-link-text{text-decoration:none;color:var(--color-muted)}.field-link-input.is-empty:hover{background:var(--color-surface);border-color:var(--color-line)}@media(max-width:767px){.client-top-bar{padding:var(--space-1-5) var(--pad);gap:var(--space-2)}.client-top-actions{gap:var(--space-1-5)}.client-file-content{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:var(--space-3) var(--space-3) calc(var(--bottom-navbar-height) + var(--mobile-toolbar-height) + var(--space-4))}.ficha-body,.ficha-form{grid-template-columns:1fr}.field-phones-split{grid-template-columns:1fr;gap:var(--gap)}.ficha-actions{display:none}.ficha{border-radius:var(--radius-md)}}.mobile-sticky-toolbar{position:fixed;bottom:var(--bottom-navbar-height);left:0;right:0;z-index:var(--z-sticky);background:var(--color-surface);border-top:1px solid var(--color-line);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-dock-strong)}.mobile-toolbar-actions{display:flex;align-items:center;gap:var(--space-2);max-width:var(--mobile-max-width);margin:0 auto;width:100%}.font-mono{font-family:var(--font-family-mono)!important}.text-muted{color:var(--color-muted)!important}.text-danger{color:var(--color-danger)!important}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)!important}.text-label{font-size:var(--fs-label)!important}.text-sm{font-size:var(--fs-sm)!important}.text-right{text-align:right!important}.nowrap{white-space:nowrap!important}.font-medium{font-weight:var(--fw-medium)!important}.font-semibold{font-weight:var(--fw-semibold)!important}.font-bold{font-weight:var(--fw-bold)!important}.icon-primary{color:var(--color-primary)!important}.icon-success{color:var(--color-success)!important}.d-flex{display:flex!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-1{flex:1 1 0%!important}.min-w-0{min-width:0!important}.items-center{align-items:center!important}.items-end{align-items:flex-end!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.gap-1{gap:var(--space-1)!important}.gap-2{gap:var(--space-2)!important}.gap-3{gap:var(--space-3)!important}.gap-4{gap:var(--space-4)!important}.grid{display:grid!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.col-2{grid-column:span 2!important}.col-3{grid-column:span 3!important}.col-4{grid-column:span 4!important}.col-6{grid-column:span 6!important}.col-7{grid-column:span 7!important}.col-8{grid-column:span 8!important}@media(max-width:767px){.col-2,.col-3,.col-4,.col-6,.col-7,.col-8{grid-column:span 1!important}}.truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.max-w-xs{max-width:20rem!important}.hidden{display:none!important}@media(max-width:767px){.hide-mobile{display:none!important}.grid-cols-2,.grid-sm-1{grid-template-columns:1fr!important}}@media(min-width:768px){.hide-desktop{display:none!important}}
