@charset "UTF-8";.page{padding:24px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-header h1{font-size:24px;color:var(--dec-foreground);margin:0}.header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--dec-primary);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;font-family:inherit}.btn-primary:hover{background:var(--dec-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;color:var(--dec-foreground);border:1px solid var(--dec-border);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.btn-outline:hover{background:var(--dec-bg-light)}.btn-outline-primary{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;color:var(--dec-primary);border:1px solid var(--dec-primary);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.btn-outline-primary:disabled{opacity:.5;cursor:not-allowed}.btn-success{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--dec-success);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.btn-success:disabled{opacity:.5;cursor:not-allowed}.btn-danger{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--dec-danger);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.btn-danger:hover{background:#c82333}.btn-sm{padding:6px 12px;font-size:12px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;color:var(--dec-muted);transition:all .15s}.btn-icon:hover{background:var(--dec-bg-light);border-color:var(--dec-border)}.table-container{background:#fff;border-radius:12px;border:1px solid var(--dec-border);overflow:hidden}.toolbar{display:flex;align-items:center;gap:12px;padding:12px;flex-wrap:wrap}.search-wrapper{position:relative;flex:1;min-width:200px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--dec-muted)}.search-input{width:100%;height:36px;padding:0 12px 0 36px;background:var(--dec-bg-light);border:1px solid var(--dec-border);border-radius:8px;font-size:13px;color:var(--dec-foreground);font-family:inherit;box-sizing:border-box}.search-input:focus{outline:none;border-color:var(--dec-primary);box-shadow:0 0 0 3px #2d5bff1a}.search-input::placeholder{color:var(--dec-muted)}.filter-select{height:36px;padding:0 12px;background:var(--dec-bg-light);border:1px solid var(--dec-border);border-radius:8px;font-size:13px;color:var(--dec-foreground);font-family:inherit}.filter-select:focus{outline:none;border-color:var(--dec-primary)}.filter-select:disabled{opacity:.6;cursor:not-allowed}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:#fff;border:1px solid var(--dec-border);border-radius:0 0 8px 8px;box-shadow:0 4px 12px #0000001a;max-height:220px;overflow-y:auto}.autocomplete-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid #f0f2f5}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--dec-bg-light)}.autocomplete-name{font-weight:500;color:var(--dec-foreground)}.autocomplete-meta{font-size:11px;background:#eef2ff;color:var(--dec-primary);padding:1px 6px;border-radius:3px;font-family:SFMono-Regular,Consolas,monospace}.data-table{width:100%;border-collapse:collapse}.data-table thead th{background:var(--dec-bg-light);text-align:left;padding:10px 14px;font-size:12px;font-weight:600;color:var(--dec-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--dec-border);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table thead th.sortable{cursor:pointer}.data-table thead th.sortable:hover{color:var(--dec-primary)}.data-table tbody td{padding:10px 14px;font-size:13px;border-bottom:1px solid #f0f2f5;color:var(--dec-foreground)}.data-table tbody tr:hover{background:#f8f9ff}.data-table tbody tr.selected-row{background:#eef2ff}.col-checkbox{width:40px;text-align:center}.col-checkbox input[type=checkbox]{cursor:pointer}.col-actions{width:48px;text-align:center}.sort-header{display:inline-flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.sort-icon{vertical-align:middle;flex-shrink:0}.sort-icon-inactive{opacity:.3}.name-link{color:var(--dec-primary);font-weight:500;cursor:pointer;text-decoration:none}.name-link:hover{text-decoration:underline}.error-cell{text-align:center;color:var(--dec-danger);padding:32px 14px!important}.empty-cell{text-align:center;padding:32px 14px!important;color:var(--dec-muted)}.code-badge,.code-badge-sm{display:inline-block;background:#eef2ff;color:var(--dec-primary);padding:2px 8px;border-radius:4px;font-weight:500;font-family:SFMono-Regular,Consolas,monospace}.code-badge,.code-badge-sm{font-size:12px}.table-code{background:var(--dec-bg-light);padding:2px 6px;border-radius:4px;font-size:12px;color:var(--dec-foreground);font-family:SFMono-Regular,Consolas,monospace}.bool-yes{color:var(--dec-success);font-size:12px;font-weight:500}.bool-no{color:var(--dec-muted);font-size:12px}.pk-badge{display:inline-block;background:var(--dec-success-bg);color:var(--dec-success);padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600}.total-badge{background:var(--dec-border);color:var(--dec-muted);padding:2px 10px;border-radius:12px;font-size:13px;font-weight:500}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.type-badge--edit{background:#e8f0fe;color:#2d5bff}.type-badge--list{background:#f0fdf4;color:#16a34a}.type-badge--search{background:#fff8e1;color:#f59e0b}.type-badge--modal{background:#f3e8ff;color:#8b5cf6}.type-badge--default{background:#f0f2f5;color:var(--dec-muted)}.type-badge--query{background:#fef3c7;color:#b45309}.st-type-badge{padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;flex-shrink:0}.st-type-badge--edit{background:#eef2ff;color:#2d5bff}.st-type-badge--list{background:#e6f4ea;color:#28a745}.st-type-badge--search{background:#fff8e1;color:#f59e0b}.st-type-badge--modal{background:#f3e8ff;color:#8b5cf6}.datatype-badge{display:inline-block;background:#f0f2f5;color:var(--dec-foreground);padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;font-family:SFMono-Regular,Consolas,monospace}.sort-arrow{font-size:10px;margin-left:4px}.form-grid{display:flex;flex-direction:column;gap:16px;max-width:720px}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-row{display:flex;gap:12px}.form-group{display:flex;flex-direction:column}.form-group-half{flex:1}.form-label{font-size:13px;font-weight:500;color:var(--dec-foreground);margin-bottom:6px}.required{color:var(--dec-danger)}.form-error{background:var(--dec-danger-bg, #fef2f2);color:var(--dec-danger);padding:8px 12px;border-radius:8px;font-size:13px;margin-bottom:16px;border:1px solid rgba(220,53,69,.2)}.form-input,.form-select{width:100%;height:40px;padding:0 12px;border:1px solid var(--dec-border);border-radius:8px;font-size:13px;color:var(--dec-foreground);background:#fff;font-family:inherit;box-sizing:border-box}.form-input:focus,.form-select:focus{outline:none;border-color:var(--dec-primary);box-shadow:0 0 0 3px #2d5bff1a}.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--dec-border);border-radius:8px;font-size:13px;color:var(--dec-foreground);font-family:inherit;resize:vertical;box-sizing:border-box}.form-textarea:focus{outline:none;border-color:var(--dec-primary);box-shadow:0 0 0 3px #2d5bff1a}.form-flags{display:flex;gap:24px;padding:12px 0;border-top:1px solid var(--dec-border);margin-top:4px}.flag-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--dec-foreground);cursor:pointer;-webkit-user-select:none;user-select:none}.flag-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--dec-primary);cursor:pointer}.row-menu-wrapper{position:relative}.row-menu{position:absolute;right:0;top:100%;z-index:50;min-width:160px;background:#fff;border:1px solid var(--dec-border);border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:4px;overflow:hidden}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;font-size:13px;color:var(--dec-foreground);cursor:pointer;border-radius:4px;text-align:left;font-family:inherit}.menu-item:hover{background:var(--dec-bg-light)}.menu-item-danger{color:var(--dec-danger)}.menu-item-danger:hover{background:var(--dec-danger-bg)}.menu-divider{height:1px;background:var(--dec-border);margin:4px 0}.pagination-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--dec-border);flex-wrap:wrap;gap:8px}.pagination-info{font-size:13px;color:var(--dec-muted)}.pagination-controls{display:flex;align-items:center;gap:4px}.page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid var(--dec-border);border-radius:6px;background:#fff;font-size:13px;color:var(--dec-foreground);cursor:pointer;transition:all .15s;font-family:inherit}.page-btn:hover:not(:disabled):not(.page-btn-active){background:var(--dec-bg-light)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn-active{background:var(--dec-primary);color:#fff;border-color:var(--dec-primary)}.bulk-bar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#eef2ff;border-bottom:1px solid var(--dec-border)}.bulk-count{font-size:13px;font-weight:600;color:var(--dec-primary)}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:#fff;border-radius:12px;padding:24px;max-width:420px;width:90%;box-shadow:0 8px 32px #00000026}.modal-title{font-size:18px;font-weight:600;color:var(--dec-foreground);margin:0 0 12px}.modal-text{font-size:14px;color:var(--dec-muted);line-height:1.5;margin:0 0 20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.panel-overlay{position:fixed;inset:0;background:#0000004d;display:flex;justify-content:flex-end;z-index:1000}.detail-panel{width:420px;max-width:90vw;height:100vh;background:#fff;box-shadow:-4px 0 16px #0000001a;display:flex;flex-direction:column;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--dec-border)}.panel-title{font-size:18px;font-weight:600;color:var(--dec-foreground);margin:0}.panel-body{flex:1;overflow-y:auto;padding:24px}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid #f0f2f5}.detail-label{font-size:13px;color:var(--dec-muted);font-weight:500;min-width:120px}.detail-value{font-size:13px;color:var(--dec-foreground);text-align:right;word-break:break-all}.detail-value code{background:#f0f2f5;padding:2px 6px;border-radius:4px;font-size:12px}.panel-footer{padding:16px 24px;border-top:1px solid var(--dec-border);display:flex;gap:8px;justify-content:flex-end}.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:500;z-index:2000;box-shadow:0 4px 12px #00000026;animation:slideUp .3s ease}.toast--success{background:var(--dec-success-bg);color:var(--dec-success);border:1px solid rgba(40,167,69,.2)}.toast--error{background:var(--dec-danger-bg);color:var(--dec-danger);border:1px solid rgba(220,53,69,.2)}.toast--info{background:#eef2ff;color:var(--dec-primary);border:1px solid rgba(45,91,255,.2)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.tab-panel{background:#fff;border-radius:12px;border:1px solid var(--dec-border);padding:24px}.tab-header{margin-bottom:20px}.tab-title{font-size:18px;font-weight:600;color:var(--dec-foreground);margin:0}.tab-subtitle{font-size:13px;color:var(--dec-muted);margin-top:2px}.empty-tab{text-align:center;padding:40px 0;color:var(--dec-muted);font-size:14px}.placeholder-note{font-size:13px;color:var(--dec-muted);margin-top:20px;font-style:italic}.items-section{margin-top:20px;padding-top:16px;border-top:1px solid #f0f2f5}.section-title{font-size:14px;font-weight:600;color:var(--dec-foreground);margin:0 0 12px;display:flex;align-items:center;gap:8px}.section-count{background:var(--dec-border);color:var(--dec-muted);padding:1px 8px;border-radius:10px;font-size:11px;font-weight:500}.loading-container{padding:24px}.skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,#f0f2f5 25%,#e8eaed,#f0f2f5 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;gap:16px}.error-icon{color:var(--dec-danger)}.error-text{font-size:16px;color:var(--dec-foreground);margin:0}:root{--dec-primary: #2d5bff;--dec-primary-hover: #2448cc;--dec-primary-light: #e8f0fe;--dec-primary-bg: #f0f4ff;--dec-foreground: #1a2b4a;--dec-muted: #6c7a8d;--dec-bg-page: #f5f7fa;--dec-bg-light: #f8f9fc;--dec-bg-white: #ffffff;--dec-sidebar-bg: #1e293b;--dec-sidebar-hover: #334155;--dec-sidebar-text: rgba(255, 255, 255, .7);--dec-sidebar-text-active: #ffffff;--dec-border: #e8ecf1;--dec-border-focus: #2d5bff;--dec-success: #28a745;--dec-success-bg: #e6f4ea;--dec-danger: #dc3545;--dec-danger-bg: #fef2f2;--dec-warning: #f59e0b;--dec-warning-bg: #fff8e1;--dec-info: #2d5bff;--dec-info-bg: #e8f0fe;--dec-jira: #8b5cf6;--dec-jira-bg: #f3e8ff;--dec-frontend: #16a34a;--dec-frontend-bg: #f0fdf4;--dec-topbar-height: 56px;--dec-sidebar-width: 240px;--dec-sidebar-collapsed: 60px;--dec-footer-height: 36px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:14px;line-height:1.5;color:var(--dec-foreground);background:var(--dec-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c4cad4;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a0a8b4}:focus-visible{outline:2px solid var(--dec-primary);outline-offset:2px}a{color:var(--dec-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;border:none;background:transparent;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:var(--dec-foreground)}.text-foreground{color:var(--dec-foreground)}.text-muted{color:var(--dec-muted)}.text-primary{color:var(--dec-primary)}.text-danger{color:var(--dec-danger)}.text-success{color:var(--dec-success)}.text-warning{color:var(--dec-warning)}.text-sm{font-size:13px}.text-xs{font-size:12px}.text-2xs{font-size:11px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0f2f5 25%,#e8ecf1,#f0f2f5 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px}
