.tpl-view{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--s-5) var(--s-4) var(--s-7);display:flex;flex-direction:column;gap:var(--s-5);box-sizing:border-box}.tpl-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.tpl-header__content{flex:1 1 320px}.tpl-header__title{font-size:var(--fs-2xl);font-weight:700;color:var(--c-ink);margin:0 0 var(--s-1);line-height:1.3}.tpl-header__sub{font-size:var(--fs-sm);color:var(--c-ink-3);margin:0;line-height:var(--lh-base)}.tpl-header__action{display:flex;align-items:center;gap:var(--s-3)}.tpl-btn-create{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-5);background:var(--c-brand-gradient);color:#ffffff;font-size:var(--fs-sm);font-weight:600;font-family:inherit;border:none;border-radius:var(--r-md);cursor:pointer;box-shadow:0 2px 8px rgba(29,78,158,.25);transition:all var(--t-fast)}.tpl-btn-create:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(29,78,158,.35)}.tpl-btn-create:active{transform:translateY(0)}.tpl-btn-create:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(29,78,158,.35)}.tpl-banner{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:1.5;box-shadow:var(--shadow-sm);animation:tpl-fade-in .2s ease}.tpl-banner--ok{background:var(--c-ok-bg);border:1px solid rgba(2,106,55,.2);color:var(--c-ok)}.tpl-banner--err{background:var(--c-danger-bg);border:1px solid rgba(186,26,26,.25);color:var(--c-danger)}.tpl-banner__icon{display:flex;align-items:center;flex-shrink:0}.tpl-banner__text{flex:1 1 auto;font-weight:500}.tpl-banner__close{background:transparent;border:none;color:inherit;cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);opacity:.7;transition:opacity var(--t-fast)}.tpl-banner__close:hover{opacity:1}@keyframes tpl-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tpl-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--s-2);box-shadow:var(--shadow-xs);overflow:hidden}.tpl-kpi-item{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);cursor:pointer;background:transparent;transition:all var(--t-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tpl-kpi-item:hover{background:var(--c-surface-low)}.tpl-kpi-item--selected{background:var(--c-surface-container);border:1px solid rgba(29,78,158,.15)}.tpl-kpi-label{font-size:var(--fs-xs);color:var(--c-ink-3);font-weight:500;display:flex;align-items:center;gap:var(--s-2)}.tpl-kpi-dot{width:8px;height:8px;border-radius:var(--r-full)}.tpl-kpi-dot--active{background:var(--c-ok)}.tpl-kpi-dot--inactive{background:var(--c-ink-dim)}.tpl-kpi-value{font-size:1.5rem;font-weight:700;color:var(--c-ink);line-height:1.2}.tpl-kpi-value--active{color:var(--c-ok)}.tpl-kpi-value--inactive{color:var(--c-ink-3)}.tpl-kpi-value--inuse{color:var(--c-primary)}.tpl-kpi-divider{display:none}.tpl-toolbar{justify-content:space-between}.tpl-filters,.tpl-toolbar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.tpl-filters{flex:1 1 auto}.tpl-search-box{position:relative;min-width:260px;flex:1 1 280px;max-width:440px}.tpl-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--c-ink-dim);pointer-events:none;display:flex;align-items:center}.tpl-search-input{width:100%;min-height:var(--tap);padding:0 var(--s-3) 0 38px;font-size:var(--fs-sm);font-family:inherit;color:var(--c-ink);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-sizing:border-box;transition:all var(--t-fast)}.tpl-search-input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(29,78,158,.15)}.tpl-select-filter{min-width:170px}.tpl-filter-select{width:100%;min-height:var(--tap);padding:0 var(--s-4);font-size:var(--fs-sm);font-family:inherit;color:var(--c-ink);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-sizing:border-box;cursor:pointer;transition:all var(--t-fast)}.tpl-filter-select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(29,78,158,.15)}.tpl-link-btn{background:transparent;border:none;color:var(--c-primary);font-size:var(--fs-sm);font-weight:500;cursor:pointer;padding:var(--s-2) var(--s-3);text-decoration:underline;text-underline-offset:3px;transition:color var(--t-fast)}.tpl-link-btn:hover{color:var(--c-primary-hover)}.tpl-table-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);overflow:hidden}.tpl-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tpl-grid-table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--fs-sm)}.tpl-grid-table thead th{background:var(--c-surface-low);color:var(--c-ink-2);font-weight:600;font-size:var(--fs-xs);letter-spacing:.02em;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-line);white-space:nowrap}.tpl-grid-table tbody tr.tpl-row{border-bottom:1px solid var(--c-line-soft);cursor:pointer;transition:background var(--t-fast)}.tpl-grid-table tbody tr.tpl-row:hover{background:var(--c-surface-container)}.tpl-grid-table td{padding:var(--s-3) var(--s-4);vertical-align:middle;color:var(--c-ink)}.tpl-empty-cell{text-align:center;padding:var(--s-7) var(--s-4)!important;color:var(--c-ink-dim);font-size:var(--fs-md)}.tpl-col-key{min-width:230px}.tpl-field-identity{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.tpl-field-name{font-weight:600;color:var(--c-ink)}.tpl-field-placeholder{font-size:var(--fs-xs);color:var(--c-ink-dim);margin-top:2px}.tpl-key-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;background:var(--c-surface-low);color:var(--c-ink-2);border:1px solid var(--c-line);padding:1px 6px;border-radius:var(--r-sm);letter-spacing:-.01em}.tpl-type-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600;letter-spacing:.01em}.tpl-type-badge--text{background:#e0f2fe;color:#0369a1}.tpl-type-badge--textarea{background:#f0fdf4;color:#15803d}.tpl-type-badge--number{background:#fef3c7;color:#b45309}.tpl-type-badge--date,.tpl-type-badge--datetime{background:#fae8ff;color:#86198f}.tpl-type-badge--radio,.tpl-type-badge--select{background:#ede9fe;color:#6d28d9}.tpl-type-badge--checkbox{background:#ffedd5;color:#c2410c}.tpl-type-badge--compact{padding:2px 8px}.tpl-col-options{min-width:170px}.tpl-lookup-badge{display:inline-flex;align-items:center;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;padding:2px 8px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:500}.tpl-opt-count{font-weight:600;font-size:var(--fs-xs);color:var(--c-ink);margin-right:4px}.tpl-opt-preview{font-size:var(--fs-xs);color:var(--c-ink-dim)}.tpl-col-rules{min-width:200px}.tpl-tags-wrap{display:flex;flex-wrap:wrap;gap:4px}.tpl-rule-tag{display:inline-flex;align-items:center;background:var(--c-surface-low);border:1px solid var(--c-line);color:var(--c-ink-2);padding:2px 7px;border-radius:var(--r-sm);font-size:var(--fs-xs);line-height:1.4}.tpl-muted-dash{color:var(--c-ink-dim);font-size:var(--fs-xs)}.tpl-col-usage{min-width:120px}.tpl-usage-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#e0e7ff;color:#3730a3;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600}.tpl-col-status{min-width:110px}.tpl-status-text{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600}.tpl-status-text--active{color:var(--c-ok)}.tpl-status-text--inactive{color:var(--c-ink-dim)}.tpl-status-dot{width:7px;height:7px;border-radius:var(--r-full);background:currentColor}.tpl-col-actions{width:140px;text-align:right}.tpl-action-group{gap:var(--s-2)}.tpl-action-group,.tpl-btn-action{display:inline-flex;align-items:center}.tpl-btn-action{justify-content:center;gap:4px;min-height:32px;padding:0 var(--s-3);font-size:var(--fs-xs);font-weight:500;font-family:inherit;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;transition:all var(--t-fast)}.tpl-btn-action--edit{background:var(--c-surface);border-color:var(--c-line);color:var(--c-primary)}.tpl-btn-action--edit:hover{background:var(--c-surface-container);border-color:var(--c-primary)}.tpl-btn-action--deactivate{background:transparent;border-color:var(--c-line);color:var(--c-danger)}.tpl-btn-action--deactivate:hover{background:var(--c-danger-bg);border-color:var(--c-danger)}.tpl-btn-action--activate{background:var(--c-ok-bg);border-color:rgba(2,106,55,.3);color:var(--c-ok)}.tpl-btn-action--activate:hover{background:#cbf0dc}.tpl-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tpl-mobile-cards{display:none;flex-direction:column;gap:var(--s-3)}.tpl-empty{padding:var(--s-6) var(--s-4);text-align:center;color:var(--c-ink-dim);border:1px solid var(--c-line);border-radius:var(--r-md);font-size:var(--fs-sm)}.tpl-card-item,.tpl-empty{background:var(--c-surface)}.tpl-card-item{border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);box-shadow:var(--shadow-xs);transition:all var(--t-fast)}.tpl-card-item__top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.tpl-card-item__identity{display:flex;flex-direction:column;gap:2px}.tpl-card-item__name{font-size:var(--fs-md);font-weight:600;color:var(--c-ink)}.tpl-card-item__hint{font-size:var(--fs-xs);color:var(--c-ink-dim)}.tpl-card-item__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);font-size:var(--fs-xs);padding:4px 0;border-top:1px dashed var(--c-line-soft)}.tpl-card-item__label{color:var(--c-ink-3);font-weight:500}.tpl-card-item__actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s-2);gap:var(--s-2);margin-top:var(--s-2)}.tpl-card-item__actions .tpl-btn-action{min-height:var(--tap);font-size:var(--fs-sm)}.tpl-modal-backdrop{position:fixed;inset:0;background:rgba(11,25,44,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--s-4);box-sizing:border-box;animation:tpl-modal-fade .2s ease}.tpl-modal-content{background:var(--c-surface);border-radius:var(--r-lg);width:100%;max-width:1080px;max-height:calc(100dvh - 40px);display:flex;flex-direction:column;box-shadow:var(--shadow-pop);overflow:hidden;box-sizing:border-box;animation:tpl-modal-zoom .22s cubic-bezier(.16,1,.3,1)}@keyframes tpl-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes tpl-modal-zoom{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.tpl-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--c-line);background:var(--c-surface-low)}.tpl-modal-title{font-size:var(--fs-lg);font-weight:700;color:var(--c-ink);margin:0 0 4px}.tpl-modal-sub{font-size:var(--fs-xs);color:var(--c-ink-3);margin:0}.tpl-key-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:var(--c-surface-container);color:var(--c-primary);padding:1px 6px;border-radius:var(--r-sm);font-weight:600}.tpl-warn-inline{color:var(--c-warn);font-weight:600}.tpl-ok-inline{color:var(--c-ok)}.tpl-modal-close{background:transparent;border:none;cursor:pointer;color:var(--c-ink-3);padding:var(--s-2);min-height:var(--tap);min-width:var(--tap);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);transition:all var(--t-fast)}.tpl-modal-close:hover{background:var(--c-surface-container);color:var(--c-ink)}.tpl-modal-form{display:flex;flex-direction:column;overflow:hidden;flex:1 1 auto;min-height:0}.tpl-form-alert{display:flex;align-items:center;gap:var(--s-2);background:var(--c-danger-bg);color:var(--c-danger);padding:var(--s-3) var(--s-5);font-size:var(--fs-sm);font-weight:500;border-bottom:1px solid rgba(186,26,26,.2)}.tpl-modal-split{display:grid;grid-template-columns:1fr 420px;overflow:hidden;flex:1 1 auto;min-height:0}.tpl-modal-left{padding:var(--s-5);gap:var(--s-5);overflow-y:auto;min-height:0;border-right:1px solid var(--c-line)}.tpl-fieldset,.tpl-modal-left{display:flex;flex-direction:column}.tpl-fieldset{border:none;margin:0;padding:0;gap:var(--s-3)}.tpl-legend{font-size:var(--fs-sm);font-weight:700;color:var(--c-primary);padding:0 0 var(--s-2);border-bottom:2px solid var(--c-line-soft);width:100%;margin-bottom:var(--s-2)}.tpl-form-group{display:flex;flex-direction:column;gap:6px}.tpl-form-label{font-size:var(--fs-xs);font-weight:600;color:var(--c-ink-2)}.tpl-req{color:var(--c-danger);margin-left:2px}.tpl-form-hint{font-size:var(--fs-xs);color:var(--c-ink-dim);line-height:1.4}.tpl-form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s-3);gap:var(--s-3)}.tpl-form-input,.tpl-form-select{width:100%;min-height:40px;padding:0 var(--s-3);font-size:var(--fs-sm);font-family:inherit;color:var(--c-ink);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-sizing:border-box;transition:all var(--t-fast)}.tpl-form-textarea{min-height:80px;padding:var(--s-2) var(--s-3);resize:vertical}.tpl-form-input:focus,.tpl-form-select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(29,78,158,.15)}.tpl-input-error{border-color:var(--c-danger)!important;background:#fff8f8}.tpl-mono-input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.tpl-mt-2{margin-top:var(--s-2)}.tpl-type-selector-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--s-2);gap:var(--s-2)}.tpl-type-card{display:flex;flex-direction:column;gap:4px;padding:var(--s-3);background:var(--c-surface-low);border:1px solid var(--c-line);border-radius:var(--r-md);cursor:pointer;text-align:left;font-family:inherit;transition:all var(--t-fast)}.tpl-type-card:hover{background:var(--c-surface-container);border-color:#cbd5e1}.tpl-type-card--active{background:#eff6ff;border-color:var(--c-primary);box-shadow:0 0 0 2px rgba(29,78,158,.2)}.tpl-type-card__head{display:flex;align-items:center;justify-content:space-between}.tpl-type-card__title{font-size:var(--fs-sm);font-weight:600;color:var(--c-ink)}.tpl-type-card--active .tpl-type-card__title,.tpl-type-card__check{color:var(--c-primary)}.tpl-type-card__check{display:inline-flex;align-items:center}.tpl-type-card__desc{font-size:var(--fs-xs);color:var(--c-ink-3);margin:0;line-height:1.4}.tpl-options-box{background:var(--c-surface-low);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-2)}.tpl-options-source-switch{display:flex;flex-direction:column;gap:var(--s-2)}.tpl-radio-pill-group{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s-2);gap:var(--s-2)}.tpl-radio-pill{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);font-size:var(--fs-xs);font-weight:500;cursor:pointer;transition:all var(--t-fast)}.tpl-radio-pill--active{border-color:var(--c-primary);background:#eff6ff;color:var(--c-primary);font-weight:600}.tpl-static-options-builder{display:flex;flex-direction:column;gap:var(--s-3)}.tpl-options-builder-head{display:flex;align-items:center;justify-content:space-between}.tpl-options-count-label{font-size:var(--fs-xs);font-weight:600;color:var(--c-ink-2)}.tpl-btn-add-opt{display:inline-flex;align-items:center;gap:4px;background:var(--c-surface);border:1px solid var(--c-line);padding:4px 10px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:600;color:var(--c-primary);cursor:pointer;transition:all var(--t-fast)}.tpl-btn-add-opt:hover{background:var(--c-surface-container);border-color:var(--c-primary)}.tpl-options-list{display:flex;flex-direction:column;gap:var(--s-2);max-height:220px;overflow-y:auto;padding-right:4px}.tpl-option-row{display:flex;align-items:center;gap:var(--s-2)}.tpl-option-idx{font-size:var(--fs-xs);color:var(--c-ink-dim);width:20px;text-align:right;flex-shrink:0}.tpl-option-input{flex:1 1 auto}.tpl-btn-del-opt{background:transparent;border:none;color:var(--c-ink-dim);padding:6px;min-height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--r-sm);transition:all var(--t-fast)}.tpl-btn-del-opt:hover:not(:disabled){color:var(--c-danger);background:var(--c-danger-bg)}.tpl-btn-del-opt:disabled{opacity:.3;cursor:not-allowed}.tpl-custom-pattern-box{margin-top:var(--s-3);border:1px dashed var(--c-line);display:flex;flex-direction:column;gap:var(--s-2)}.tpl-custom-pattern-box,.tpl-info-text{padding:var(--s-3);background:var(--c-surface-low);border-radius:var(--r-md)}.tpl-info-text{font-size:var(--fs-xs);color:var(--c-ink-3);margin:0;line-height:1.5}.tpl-modal-right{background:#f8fafc;padding:var(--s-5);gap:var(--s-4);overflow-y:auto}.tpl-modal-right,.tpl-preview-panel{display:flex;flex-direction:column;min-height:0;max-height:100%}.tpl-preview-panel{background:var(--c-surface);border:1px solid #cbd5e1;border-radius:var(--r-lg);box-shadow:0 4px 16px rgba(11,26,48,.06);overflow:hidden;flex:1 1 auto}.tpl-preview-panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-3) var(--s-4);background:#0b192c;color:#ffffff;flex-shrink:0}.tpl-preview-panel__title{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em}.tpl-preview-req-toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:#94a3b8;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tpl-preview-req-toggle input[type=checkbox]{accent-color:#38bdf8;cursor:pointer}.tpl-preview-panel__body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4);overflow-y:auto;min-height:0;flex:1 1 auto;overscroll-behavior:contain}.tpl-modal-right::-webkit-scrollbar,.tpl-preview-panel__body::-webkit-scrollbar{width:6px}.tpl-modal-right::-webkit-scrollbar-thumb,.tpl-preview-panel__body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.tpl-modal-right::-webkit-scrollbar-thumb:hover,.tpl-preview-panel__body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tpl-preview-guide{font-size:var(--fs-xs);color:var(--c-ink-3);margin:0;line-height:1.5;background:#f1f5f9;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);border-left:3px solid var(--c-secondary)}.tpl-preview-field-container{display:flex;flex-direction:column;gap:var(--s-2)}.tpl-preview-field-label{font-size:var(--fs-sm);font-weight:600;color:var(--c-ink)}.tpl-preview-checkboxes,.tpl-preview-radios{display:flex;flex-direction:column;gap:var(--s-2);background:#f8fafc;padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--c-line)}.tpl-preview-choice{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--c-ink);cursor:pointer;min-height:28px}.tpl-preview-choice input{accent-color:var(--c-primary);width:16px;height:16px;cursor:pointer}.tpl-preview-help{font-size:var(--fs-xs);color:var(--c-ink-dim);margin:0;line-height:1.4}.tpl-validation-result{margin-top:var(--s-3);animation:tpl-fade-in .15s ease}.tpl-validation-msg{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);font-size:var(--fs-xs);font-weight:600;line-height:1.4}.tpl-validation-msg--error{background:var(--c-danger-bg);border:1px solid rgba(186,26,26,.3);color:var(--c-danger)}.tpl-validation-msg--valid{background:var(--c-ok-bg);border:1px solid rgba(2,106,55,.25);color:var(--c-ok)}.tpl-validation-icon{display:inline-flex;align-items:center;flex-shrink:0}.tpl-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-top:1px solid var(--c-line);background:var(--c-surface-low)}.tpl-btn-cancel{min-height:var(--tap);padding:0 var(--s-4);font-size:var(--fs-sm);font-weight:500;font-family:inherit;background:var(--c-surface);border:1px solid var(--c-line);color:var(--c-ink-2);border-radius:var(--r-md);cursor:pointer;transition:all var(--t-fast)}.tpl-btn-cancel:hover:not(:disabled){background:var(--c-surface-container);border-color:#cbd5e1}.tpl-btn-submit{min-height:var(--tap);padding:0 var(--s-5);font-size:var(--fs-sm);font-weight:600;font-family:inherit;background:var(--c-primary);border:none;color:#ffffff;border-radius:var(--r-md);cursor:pointer;box-shadow:0 2px 6px rgba(29,78,158,.25);transition:all var(--t-fast)}.tpl-btn-submit:hover:not(:disabled){background:var(--c-primary-hover);box-shadow:0 4px 10px rgba(29,78,158,.35)}.tpl-btn-cancel:disabled,.tpl-btn-submit:disabled{opacity:.6;cursor:not-allowed}.tpl-confirm-dialog{background:var(--c-surface);border-radius:var(--r-lg);width:100%;max-width:440px;padding:var(--s-5);box-shadow:var(--shadow-pop);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--s-3);animation:tpl-modal-zoom .2s cubic-bezier(.16,1,.3,1)}.tpl-confirm-icon-box{width:48px;height:48px;border-radius:var(--r-full);background:#eff6ff;color:var(--c-primary);display:flex;align-items:center;justify-content:center}.tpl-confirm-title{font-size:var(--fs-lg);font-weight:700;color:var(--c-ink);margin:0}.tpl-confirm-desc{font-size:var(--fs-sm);color:var(--c-ink-2);margin:0;line-height:1.5}.tpl-confirm-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-3);margin-top:var(--s-2)}.tpl-btn-confirm-action{min-height:var(--tap);padding:0 var(--s-4);font-size:var(--fs-sm);font-weight:600;font-family:inherit;border-radius:var(--r-md);border:none;cursor:pointer;color:#ffffff;transition:all var(--t-fast)}.tpl-btn-confirm-action--off{background:var(--c-danger)}.tpl-btn-confirm-action--off:hover:not(:disabled){background:#991b1b}.tpl-btn-confirm-action--on{background:var(--c-ok)}.tpl-btn-confirm-action--on:hover:not(:disabled){background:#02552c}.tpl-btn-confirm-action:disabled{opacity:.6;cursor:not-allowed}@media (max-width:1024px){.tpl-modal-split{grid-template-columns:1fr}.tpl-modal-left{border-right:none;border-bottom:1px solid var(--c-line)}.tpl-type-selector-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.tpl-table-card{display:none}.tpl-mobile-cards{display:flex}.tpl-kpi-strip{grid-template-columns:repeat(2,1fr);gap:var(--s-2)}.tpl-header{flex-direction:column;align-items:stretch}.tpl-btn-create{width:100%}.tpl-toolbar{flex-direction:column;align-items:stretch}.tpl-search-box{max-width:none;width:100%}.tpl-select-filter{width:100%}.tpl-form-grid-2,.tpl-radio-pill-group{grid-template-columns:1fr}.tpl-modal-content{max-height:94dvh}}@media (max-width:480px){.tpl-view{padding:var(--s-3) var(--s-3) var(--s-6)}.tpl-kpi-strip,.tpl-type-selector-grid{grid-template-columns:1fr}.tpl-modal-head{padding:var(--s-3) var(--s-4)}.tpl-modal-left,.tpl-modal-right{padding:var(--s-4)}.tpl-confirm-foot{flex-direction:column}.tpl-confirm-foot button{width:100%}}