:root,[data-theme=light]{--color-primary:#1565c0;--color-primary-hover:#0d47a1;--color-on-primary:#fff;--color-primary-container:#d1e4ff;--color-on-primary-container:#001d36;--color-secondary:#535f70;--color-secondary-container:#d7e3f8;--color-bg:#f8f9fc;--color-surface:#fff;--color-surface-variant:#dfe2eb;--color-surface-2:#f1f4fa;--color-text:#1a1c22;--color-text-muted:#44474f;--color-text-faint:#8a9099;--color-border:#c3c6cf;--color-divider:#e8eaed;--color-error:#ba1a1a;--color-error-bg:#ffdad6;--color-success:#2e7d32;--color-success-bg:#d4edda;--color-warning:#e65100;--color-warning-bg:#fff3e0;--color-info:#0277bd;--color-info-bg:#e1f5fe;--signal-green:#2e7d32;--signal-yellow:#f9a825;--signal-red:#c62828;--badge-undefined-bg:#eceff1;--badge-undefined-text:#455a64;--badge-referred-bg:#fff8e1;--badge-referred-text:#f57f17;--badge-waiting-bg:#e3f2fd;--badge-waiting-text:#1565c0;--badge-decided-bg:#e8f5e9;--badge-decided-text:#2e7d32;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 2px 8px #0000001a;--shadow-lg:0 4px 20px #0000001f;--transition:.18s cubic-bezier(.2, 0, 0, 1);--font-body:"Roboto", sans-serif;--font-mono:"Roboto Mono", monospace;--sidebar-width:260px;--header-height:64px}[data-theme=dark]{--color-primary:#9ecaff;--color-primary-hover:#c2e0ff;--color-on-primary:#003063;--color-primary-container:#004a9c;--color-on-primary-container:#d1e4ff;--color-secondary:#bbc7db;--color-secondary-container:#3a4759;--color-bg:#111318;--color-surface:#1a1c22;--color-surface-variant:#43474f;--color-surface-2:#21242b;--color-text:#e2e2e9;--color-text-muted:#c4c6cf;--color-text-faint:#8a9099;--color-border:#43474f;--color-divider:#2e3038;--color-error:#ffb4ab;--color-error-bg:#4a1414;--color-success:#a5d6a7;--color-success-bg:#1b3a1e;--color-warning:#ffcc80;--color-warning-bg:#3e2000;--color-info:#80d8ff;--color-info-bg:#002d3e;--signal-green:#81c784;--signal-yellow:#ffd54f;--signal-red:#ef9a9a;--badge-undefined-bg:#2e3038;--badge-undefined-text:#c4c6cf;--badge-referred-bg:#3e2e00;--badge-referred-text:#ffcc80;--badge-waiting-bg:#002d3e;--badge-waiting-text:#9ecaff;--badge-decided-bg:#1b3a1e;--badge-decided-text:#a5d6a7;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 8px #00000059;--shadow-lg:0 4px 20px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:14px}body{background:var(--color-bg);color:var(--color-text);min-height:100vh;transition:background var(--transition), color var(--transition);line-height:1.5}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:var(--font-body)}input,select,textarea{font-family:var(--font-body)}.material-symbols-outlined{vertical-align:middle;-webkit-user-select:none;user-select:none;font-size:20px;line-height:1}.screen{display:none}.screen.active{display:flex}.btn{border-radius:var(--radius-full);height:36px;transition:background var(--transition), box-shadow var(--transition);white-space:nowrap;border:none;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:not([disabled]):hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn-secondary{color:var(--color-primary);border:1px solid var(--color-border);background:0 0}.btn-secondary:not([disabled]):hover{background:var(--color-primary-container)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:not([disabled]):hover{opacity:.9}.btn-ghost{color:var(--color-text-muted);background:0 0;border:none}.btn-ghost:not([disabled]):hover{background:var(--color-surface-variant)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn-icon{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-muted);transition:background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:not([disabled]):hover{background:var(--color-surface-variant)}.btn.btn-small{height:28px;font-size:12px}.btn.btn-small span{font-size:14px}.field-group{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.field-input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;height:44px;color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition);padding:0 12px;font-size:14px}.field-input[disabled]{color:var(--color-text-faint);background:var(--color-surface-variant);-webkit-user-select:none;user-select:none}.field-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab, var(--color-primary) 15%, transparent);outline:none}.field-textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:80px;color:var(--color-text);resize:vertical;transition:border-color var(--transition);padding:10px 12px;font-size:14px}.field-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab, var(--color-primary) 15%, transparent);outline:none}.field-select{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;height:44px;color:var(--color-text);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%2344474F'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:0 32px 0 12px;font-size:14px}.field-select:focus{border-color:var(--color-primary);outline:none}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-divider);box-shadow:var(--shadow-sm);padding:20px}.card-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:14px;font-weight:600}.card-title.small{font-size:11px}.card .card-actions{padding-top:12px}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge-unknown{background:var(--badge-undefined-bg);color:var(--badge-undefined-text)}.badge-referred{background:var(--badge-referred-bg);color:var(--badge-referred-text)}.badge-waiting{background:var(--badge-waiting-bg);color:var(--badge-waiting-text)}.badge-decided{background:var(--badge-decided-bg);color:var(--badge-decided-text)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-analyzing{background:var(--color-info-bg);color:var(--color-info)}.signal-dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.signal-green{background:var(--signal-green)}.signal-yellow{background:var(--signal-yellow)}.signal-red{background:var(--signal-red);animation:1s infinite pulse-red}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.4}}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table thead th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-divider);white-space:nowrap;background:var(--color-surface);padding:10px 12px;font-size:12px;font-weight:600;position:sticky;top:0}.data-table thead th.sortable{cursor:pointer}.data-table thead th.sortable:hover{color:var(--color-primary)}.data-table tbody tr{border-bottom:1px solid var(--color-divider);transition:background var(--transition)}.data-table tbody tr:not(.empty):hover{background:var(--color-surface-2);cursor:pointer}.data-table td{vertical-align:middle;padding:10px 12px}.data-table tbody tr.empty td{text-align:center;-webkit-user-select:none;user-select:none;color:var(--color-text-muted);padding:4rem 0}.pagination{align-items:center;gap:4px;padding:8px 0;display:flex}.pagination .page-info{color:var(--color-text-muted);margin:0 8px;font-size:13px}.page-size-select{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);height:30px;color:var(--color-text);padding:0 8px;font-size:13px}.tabs{border-bottom:1px solid var(--color-divider);gap:0;display:flex}.tab-item{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition), border-color var(--transition);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:14px;font-weight:500}.tab-item:hover{color:var(--color-text)}.tab-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-panel{padding:20px 0;display:none}.tab-panel.active{display:block}.toast-container{z-index:10000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-lg);background:#333;align-items:center;gap:8px;padding:12px 20px;font-size:14px;animation:.18s toast-in;display:flex}.toast.success{background:var(--color-success)}.toast.error{background:var(--color-error)}.toast.warning{background:var(--color-warning)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-overlay{z-index:9000;background:#00000073;justify-content:center;align-items:center;animation:.18s fade-in;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:90%;max-width:480px;padding:28px;animation:.18s cubic-bezier(.2,0,0,1) modal-in}@keyframes modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.modal-title{color:var(--color-text);-webkit-user-select:none;user-select:none;margin-bottom:12px;font-size:18px;font-weight:600}.modal-body{color:var(--color-text-muted);font-size:14px;line-height:1.6}.modal-footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.modal-body.stacked{flex-direction:column;gap:14px;margin-top:12px;display:flex}.stat-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:16px 20px;display:flex}.stat-card .multiline-content{flex-direction:column;gap:4px;display:flex}.stat-card .multiline-content .item{justify-content:space-between;align-items:baseline;display:flex}.stat-card .multiline-content .item .label{color:var(--color-text-muted);font-size:11px}.stat-card .multiline-content .item .value{font-size:22px;font-weight:700}.stat-value{color:var(--color-text);font-size:28px;font-weight:700}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.stat-value.value-success{color:var(--color-success)}.stat-value.value-warning{color:var(--color-warning)}.stat-value.value-error{color:var(--color-error)}.app-header{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-divider);z-index:100;box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky;top:0}.app-header .org-name{color:var(--color-text);font-size:15px;font-weight:600}.app-header .user-info{color:var(--color-text-muted);font-size:13px}.app-header .spacer{flex:1}.dropdown-wrapper{display:inline-block;position:relative}.dropdown-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;min-width:240px;display:none;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.dropdown-menu.open{display:block}.dropdown-item{color:var(--color-text);cursor:pointer;border-bottom:1px solid var(--color-divider);padding:10px 16px;font-size:13px}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--color-surface-2)}.sidebar-filters{background:var(--color-surface);border-right:1px solid var(--color-divider);flex-direction:column;gap:16px;width:240px;min-width:200px;padding:20px 16px;display:flex;overflow-y:auto}.filters-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.divider{background:var(--color-divider);height:1px;margin:4px 0}.save-indicator{color:var(--color-text-faint);align-items:center;gap:4px;font-size:12px;display:inline-flex}.save-indicator.saving{color:var(--color-warning)}.save-indicator.saved{color:var(--color-success)}.progress-bar{background:var(--color-surface-variant);border-radius:var(--radius-full);height:4px;overflow:hidden}.progress-fill{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width .3s}.progress-fill.indeterminate{width:40%;animation:1.5s ease-in-out infinite progress-indeterminate}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.uuid-text{font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-surface-2);border-radius:var(--radius-sm);padding:2px 6px;font-size:12px}.checkbox-label{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.timer-display{font-family:var(--font-mono);color:var(--color-text);letter-spacing:.02em;font-size:32px;font-weight:500}.event-log{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);height:140px;font-family:var(--font-mono);color:var(--color-text-muted);padding:10px 12px;font-size:12px;line-height:1.6;overflow-y:auto}.log-entry{margin-bottom:2px}.log-entry .log-time{color:var(--color-text-faint)}.log-entry .log-event{color:var(--color-text-muted)}.log-entry.log-warn .log-event{color:var(--color-warning)}.log-entry.log-error .log-event{color:var(--color-error)}#screen-subject{color:#fff;background:#000;flex-direction:column;justify-content:center;align-items:center;min-height:100vh}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;z-index:9999;pointer-events:none;background:#333;padding:5px 10px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tooltip].tooltip-below:hover:after{top:calc(100% + 6px);bottom:auto}[data-tooltip].tooltip-start:hover:after{left:0;transform:none}#proto-nav{color:#eee;z-index:99999;background:#1a1a2e;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 16px;font-size:12px;display:flex;position:sticky;top:0}#proto-nav .proto-label{color:#aaa;margin-right:4px}#proto-nav button{color:#aed6f1;cursor:pointer;background:#2d2d4e;border:1px solid #3d3d6e;border-radius:4px;padding:3px 10px;font-size:11px;transition:background .15s}#proto-nav button:hover,#proto-nav button.active{color:#fff;background:#4a4a8a}#proto-nav .proto-sep{color:#555}.error-banner{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md);margin:14px 0;padding:10px 14px;font-size:13px;display:none}.error-banner.visible{align-items:center;gap:8px;display:flex}@media (width<=1024px){.mobile-notice{display:flex!important}}.mobile-notice{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:24px;display:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}
