:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--gray-950: #020617;--indigo-50: #eef2ff;--indigo-100: #e0e7ff;--indigo-500: #6366f1;--indigo-600: #4f46e5;--indigo-700: #4338ca;--green-50: #f0fdf4;--green-100: #dcfce7;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--red-50: #fef2f2;--red-100: #fee2e2;--red-500: #ef4444;--red-600: #dc2626;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-500: #f59e0b;--amber-600: #d97706;--sky-50: #f0f9ff;--sky-100: #e0f2fe;--sky-500: #0ea5e9;--surface-bg: var(--gray-50);--surface-card: #ffffff;--surface-sidebar: var(--gray-900);--sidebar-width: 240px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--ease-out: cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--surface-bg: var(--gray-950);--surface-card: var(--gray-900);--surface-sidebar: var(--gray-950);--text-primary: #f1f5f9;--text-secondary: var(--gray-400);--text-tertiary: var(--gray-500);--border-color: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .06);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:.9375rem;line-height:1.6;color:var(--gray-800);background:var(--surface-bg);min-width:320px;-webkit-font-smoothing:antialiased;transition:background-color .2s var(--ease-out),color .2s var(--ease-out)}[data-theme=dark] body{color:var(--text-primary)}a{color:var(--indigo-600);text-decoration:none}a:hover{color:var(--indigo-700)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--surface-sidebar);color:var(--gray-300);display:flex;flex-direction:column;position:fixed;inset-block:0;z-index:50}.sidebar-brand{display:flex;align-items:center;gap:.625rem;padding:1.25rem 1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap}.sidebar-brand-icon{width:32px;height:32px;background:var(--indigo-600);border-radius:var(--radius-sm);display:grid;place-items:center;font-size:1rem;color:#fff;flex-shrink:0}.sidebar-brand-text{font-weight:700;font-size:.9375rem;color:#fff;letter-spacing:-.01em}.local-mode-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--amber-600);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.02em;border-radius:var(--radius-sm);text-transform:uppercase;flex-shrink:0;margin-left:auto}.sidebar-nav{flex:1;padding:.75rem .75rem 1rem;display:flex;flex-direction:column;gap:2px}.sidebar-nav a,.sidebar-nav .nav-link{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:var(--radius-sm);color:var(--gray-400);font-size:.875rem;font-weight:500;transition:all .15s var(--ease-out);text-decoration:none}.sidebar-nav a:hover,.sidebar-nav .nav-link:hover{background:#ffffff0f;color:#fff}.sidebar-nav a.active,.sidebar-nav .nav-link.active{background:#ffffff1a;color:#fff}.nav-icon{font-size:1.125rem;width:1.25rem;text-align:center;flex-shrink:0}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.06);font-size:.8125rem}.sidebar-user{color:#fff;font-weight:600}.sidebar-role{color:var(--gray-500);font-size:.75rem}main{margin-left:var(--sidebar-width);flex:1;padding:2rem 2.5rem;max-width:calc(100% - var(--sidebar-width))}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.page-actions{display:flex;gap:.5rem}h1{font-size:1.625rem;font-weight:700;margin:0 0 .25rem;color:var(--gray-900);letter-spacing:-.02em}[data-theme=dark] h1{color:var(--text-primary)}h2{font-size:1.125rem;font-weight:600;margin:1.5rem 0 .75rem;color:var(--gray-800);letter-spacing:-.01em}[data-theme=dark] h2{color:var(--text-primary)}h3{font-size:1rem;font-weight:600;margin:1rem 0 .5rem;color:var(--gray-700)}[data-theme=dark] h3{color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .15s var(--ease-out);text-decoration:none;white-space:nowrap;line-height:1.4}.btn-primary{background:var(--indigo-600);color:#fff;box-shadow:0 1px 2px #4f46e54d}.btn-primary:hover{background:var(--indigo-700);text-decoration:none;box-shadow:0 2px 4px #4f46e54d}.btn-primary:disabled{background:var(--indigo-500);opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface-card);color:var(--gray-700);border-color:var(--gray-200)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-300);text-decoration:none}.btn-danger{background:var(--red-50);color:var(--red-600);border-color:var(--red-100)}.btn-danger:hover{background:var(--red-100)}.btn-icon{padding:.375rem;border:none;background:transparent;cursor:pointer;color:var(--gray-400);border-radius:var(--radius-sm);font-size:1.125rem;display:inline-flex;align-items:center;justify-content:center;transition:all .15s var(--ease-out)}.btn-icon:hover{background:var(--gray-100);color:var(--red-500)}.card{background:var(--surface-card);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.card-padded{padding:1.25rem 1.5rem}.filters{display:flex;gap:.625rem;margin-bottom:1.5rem}.filter-input{position:relative;flex:1;max-width:320px}.filter-input .filter-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:.875rem;pointer-events:none}.filters input{width:100%;padding:.5625rem .75rem .5625rem 2.125rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-sans);background:var(--surface-card);color:var(--gray-800);transition:border-color .15s}.filters input:focus{outline:none;border-color:var(--indigo-500);box-shadow:0 0 0 3px #6366f11f}.filters input::placeholder{color:var(--gray-400)}.filters select{width:100%;padding:.5625rem 2rem .5625rem 2.125rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-sans);background:var(--surface-card);color:var(--gray-800);transition:border-color .15s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;cursor:pointer}.filters select:focus{outline:none;border-color:var(--indigo-500);box-shadow:0 0 0 3px #6366f11f}.flag-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface-card);border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-xs)}.flag-table th{background:var(--gray-50);padding:.6875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);border-bottom:1px solid var(--gray-200)}.flag-table td{padding:.75rem 1rem;border-top:1px solid var(--gray-100);vertical-align:middle}.flag-table tbody tr{transition:background .1s}.flag-table tbody tr:first-child td{border-top:none}.flag-table tbody tr:hover td{background:var(--gray-50)}.flag-table td a{font-weight:600;color:var(--indigo-600)}.flag-table td a:hover{color:var(--indigo-700)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-active{background:var(--green-50);color:var(--green-700)}.badge-active .badge-dot{background:var(--green-500)}.badge-pending{background:var(--amber-50);color:var(--amber-600)}.badge-pending .badge-dot{background:var(--amber-500)}.badge-archived{background:var(--gray-100);color:var(--gray-500)}.badge-archived .badge-dot{background:var(--gray-400)}.service-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;margin:.125rem;background:var(--indigo-50);color:var(--indigo-600);border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.env-badge{display:inline-flex;align-items:center;padding:.0625rem .375rem;margin-left:.375rem;background:var(--gray-100);color:var(--gray-600);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.env-indicator{width:10px;height:10px;border-radius:50%;display:inline-block}.env-on{background:var(--green-500);box-shadow:0 0 0 3px var(--green-100)}.env-off{background:var(--gray-300)}.env-toggle{margin-bottom:.25rem}.env-toggle-label{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.env-name{font-weight:600;font-size:.8125rem;color:var(--gray-700);min-width:56px;text-transform:uppercase;letter-spacing:.04em}.toggle-switch{position:relative;width:44px;height:24px;border-radius:12px;border:none;cursor:pointer;transition:background .2s var(--ease-out);padding:0;font-size:0;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-out)}.toggle-on{background:var(--green-500)}.toggle-on:after{transform:translate(20px)}.toggle-off{background:var(--gray-300)}.toggle-off:after{transform:translate(0)}.toggle-locked{opacity:.4;cursor:not-allowed}.lock-icon{font-size:.8125rem;color:var(--gray-400)}.toggle-loading{font-size:.75rem;color:var(--gray-500);margin-left:.25rem}.toggle-error{font-size:.75rem;color:var(--red-500);margin-left:.25rem}.toggle-status-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;min-width:24px}.toggle-status-label.on{color:var(--green-600)}.toggle-status-label.off{color:var(--gray-400)}.targeting-editor{margin:.25rem 0 .5rem;padding:1rem 1.25rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md)}.targeting-editor h4{margin:0 0 .625rem;font-size:.8125rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.04em}.targeting-mode{display:flex;gap:0;margin-bottom:.75rem}.targeting-mode label{display:flex;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;color:var(--gray-600);background:var(--surface-card);border:1px solid var(--gray-200);cursor:pointer;transition:all .15s}.targeting-mode label:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.targeting-mode label:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.targeting-mode label:not(:first-child){border-left:none}.targeting-mode label:has(input:checked){background:var(--indigo-50);color:var(--indigo-700);border-color:var(--indigo-200);z-index:1}.targeting-mode label:has(input:checked)+label{border-left:1px solid var(--indigo-200)}.targeting-mode input[type=radio]{display:none}.targeting-conditions ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.375rem}.targeting-conditions li{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--surface-card);border:1px solid var(--gray-200);border-radius:var(--radius-full);font-size:.8125rem}.targeting-conditions li button{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:0;font-size:1rem;line-height:1;display:inline-flex}.targeting-conditions li button:hover{color:var(--red-500)}.add-condition{display:flex;gap:.375rem;margin-top:.5rem}.add-condition input{padding:.375rem .625rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8125rem;font-family:var(--font-sans);background:var(--surface-card)}.add-condition input:focus{outline:none;border-color:var(--indigo-500)}.add-condition button{padding:.375rem .75rem;font-size:.8125rem;background:var(--indigo-50);color:var(--indigo-600);border:1px solid var(--indigo-100);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-family:var(--font-sans)}.add-condition button:hover{background:var(--indigo-100)}.targeting-save-btn{margin-top:.75rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;background:var(--indigo-600);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);transition:background .15s}.targeting-save-btn:hover{background:var(--indigo-700)}.targeting-save-btn:disabled{opacity:.4;cursor:not-allowed}.targeting-error{display:block;color:var(--red-500);font-size:.8125rem;margin-top:.375rem}.schedule-editor{margin-top:.75rem;padding:.75rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50)}.schedule-editor h4{margin:0 0 .625rem;font-size:.8125rem;font-weight:600}.schedule-form-row{display:flex;align-items:end;gap:.5rem;flex-wrap:wrap}.schedule-form-row label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--gray-600)}.schedule-form-row select,.schedule-form-row input{min-height:2rem;padding:.25rem .5rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--gray-800);font-family:var(--font-sans);font-size:.8125rem}.schedule-add-btn,.schedule-cancel-btn{border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--gray-700);font-size:.75rem;font-weight:600;padding:.375rem .625rem;cursor:pointer}.schedule-add-btn{background:var(--indigo-600);border-color:var(--indigo-600);color:#fff}.schedule-add-btn:hover{background:var(--indigo-700)}.schedule-add-btn:disabled,.schedule-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.scheduled-list{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.375rem}.scheduled-list li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.8125rem}.env-block{padding:.75rem 0;border-bottom:1px solid var(--gray-100)}.env-block:last-child{border-bottom:none}.environments-section{background:var(--surface-card);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.25rem 1.5rem;box-shadow:var(--shadow-xs)}.environments-section h2{margin-top:0}.audit-timeline{margin-top:.5rem;position:relative}.audit-entry{display:flex;gap:.875rem;position:relative;padding:.625rem 0 .625rem 2rem}.audit-entry:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:var(--gray-200)}.audit-entry:first-child:before{top:50%}.audit-entry:last-child:before{bottom:50%}.audit-entry:only-child:before{display:none}.audit-icon{position:absolute;left:0;top:.625rem;width:1.25rem;height:1.25rem;display:grid;place-items:center;background:var(--surface-card);border:2px solid var(--gray-200);border-radius:50%;font-size:.625rem;z-index:1}.audit-content{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;font-size:.8125rem;line-height:1.5}.audit-type{font-weight:600;color:var(--gray-800)}.audit-timestamp{color:var(--gray-400);font-size:.75rem}.audit-actor{color:var(--gray-500);font-size:.75rem}.audit-details{width:100%;color:var(--gray-500);font-size:.75rem;font-family:var(--font-mono);background:var(--gray-50);padding:.25rem .5rem;border-radius:var(--radius-sm);margin-top:.125rem}.service-editor{background:var(--surface-card);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.25rem 1.5rem;box-shadow:var(--shadow-xs)}.service-editor h3{margin-top:0}.service-editor ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.service-editor li{display:inline-flex;align-items:center;gap:.25rem}.service-editor li button{background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:1rem;line-height:1;padding:0;display:inline-flex}.service-editor li button:hover{color:var(--red-500)}.add-service{display:flex;gap:.375rem;margin-top:.75rem}.add-service input{padding:.4375rem .625rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.8125rem;font-family:var(--font-sans);background:var(--surface-card)}.add-service input:focus{outline:none;border-color:var(--indigo-500)}.create-flag-form{max-width:520px;background:var(--surface-card);padding:1.75rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;font-size:.8125rem;color:var(--gray-700);margin-bottom:.375rem}.form-group input,.form-group textarea{width:100%;padding:.5625rem .75rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-sans);background:var(--surface-card);color:var(--gray-800);transition:border-color .15s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--indigo-500);box-shadow:0 0 0 3px #6366f11f}.form-group textarea{min-height:80px;resize:vertical}.field-error{color:var(--red-500);font-size:.75rem;display:block;margin-top:.25rem}.form-error{background:var(--red-50);color:var(--red-600);padding:.625rem .875rem;border:1px solid var(--red-100);border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.8125rem}.error{color:var(--red-500)}.pagination{display:flex;align-items:center;gap:.375rem;margin-top:1.25rem;justify-content:center}.pagination button{padding:.375rem .75rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface-card);font-size:.8125rem;font-family:var(--font-sans);cursor:pointer;transition:all .15s}.pagination button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:.8125rem;color:var(--gray-500);padding:0 .5rem}.flag-header{margin-bottom:1.5rem}.flag-header h1{margin-bottom:.5rem}.flag-header code{display:inline-block;background:var(--gray-100);color:var(--gray-700);padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.8125rem;font-family:var(--font-mono);margin-right:.5rem}.flag-header p{color:var(--gray-600);font-size:.875rem;margin-top:.375rem}.meta{font-size:.8125rem;color:var(--gray-400)}.detail-sections{display:flex;flex-direction:column;gap:1.25rem}.loading-state,.empty-state{text-align:center;padding:3rem 1rem;color:var(--gray-500)}.loading-state,.empty-state{font-size:.875rem}[data-theme=dark] .flag-table{border-color:var(--border-color)}[data-theme=dark] .flag-table th{background:var(--gray-800);border-bottom-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .flag-table td{border-top-color:var(--border-subtle)}[data-theme=dark] .flag-table tbody tr:hover td{background:var(--gray-800)}[data-theme=dark] .card,[data-theme=dark] .environments-section,[data-theme=dark] .service-editor{border-color:var(--border-color)}[data-theme=dark] .btn-secondary{background:var(--gray-800);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .btn-secondary:hover{background:var(--gray-700);border-color:var(--border-color)}[data-theme=dark] .create-flag-form{border-color:var(--border-color)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group textarea,[data-theme=dark] .filters input,[data-theme=dark] .add-condition input,[data-theme=dark] .add-service input{background:var(--gray-800);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .form-group input::placeholder,[data-theme=dark] .filters input::placeholder{color:var(--gray-600)}[data-theme=dark] .targeting-editor,[data-theme=dark] .schedule-editor{background:var(--gray-800);border-color:var(--border-color)}[data-theme=dark] .schedule-form-row select,[data-theme=dark] .schedule-form-row input,[data-theme=dark] .schedule-cancel-btn{background:var(--gray-900);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .targeting-mode label{background:var(--gray-900);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .targeting-mode label:has(input:checked){background:#6366f126;color:var(--indigo-400);border-color:#6366f14d}[data-theme=dark] .targeting-conditions li,[data-theme=dark] .add-condition input{background:var(--gray-900);border-color:var(--border-color)}[data-theme=dark] .add-condition button{background:#6366f126;color:var(--indigo-400);border-color:#6366f14d}[data-theme=dark] .add-condition button:hover{background:#6366f140}[data-theme=dark] .flag-header code{background:var(--gray-800);color:var(--text-secondary)}[data-theme=dark] .flag-header p{color:var(--text-secondary)}[data-theme=dark] .audit-entry:before{background:var(--border-color)}[data-theme=dark] .audit-icon{background:var(--surface-card);border-color:var(--border-color)}[data-theme=dark] .audit-details{background:var(--gray-800)}[data-theme=dark] .env-block{border-bottom-color:var(--border-subtle)}[data-theme=dark] .pagination button{background:var(--gray-800);border-color:var(--border-color)}[data-theme=dark] .pagination button:hover:not(:disabled){background:var(--gray-700);border-color:var(--border-color)}.theme-toggle-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:1.125rem;cursor:pointer;transition:all .2s var(--ease-out);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:.75rem;width:100%}.theme-toggle-btn:hover{background:#ffffff26;border-color:#ffffff40}@media(max-width:768px){.sidebar{display:none}main{margin-left:0;padding:1rem;max-width:100%}.schedule-form-row{flex-direction:column;align-items:stretch}.schedule-form-row label{width:100%}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;max-width:400px;width:100%;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:4px solid var(--indigo-500);animation:toast-slide-in .3s var(--ease-out);pointer-events:auto}@keyframes toast-slide-in{0%{transform:translate(calc(100% + 1rem));opacity:0}to{transform:translate(0);opacity:1}}.toast-info{border-left-color:var(--indigo-500)}.toast-success{border-left-color:var(--green-500)}.toast-warning{border-left-color:var(--amber-500)}.toast-error{border-left-color:var(--red-500)}.toast-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.toast-message{font-size:.875rem;font-weight:500;color:var(--gray-800);line-height:1.4}.toast-action{align-self:flex-start;background:var(--indigo-500);color:#fff;border:none;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s var(--ease-out)}.toast-action:hover{background:var(--indigo-600)}.toast-dismiss{background:none;border:none;color:var(--gray-400);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .15s var(--ease-out);flex-shrink:0}.toast-dismiss:hover{background:var(--gray-100);color:var(--gray-600)}[data-theme=dark] .toast{background:var(--gray-800);box-shadow:0 10px 15px -3px #0009,0 4px 6px -4px #00000080}[data-theme=dark] .toast-message{color:var(--gray-100)}[data-theme=dark] .toast-dismiss:hover{background:var(--gray-700);color:var(--gray-300)}.archived-count{margin:1rem 0;padding:.75rem 1rem;background:var(--gray-50);border-left:3px solid var(--gray-400);border-radius:var(--radius-sm);color:var(--gray-700);font-size:.875rem}[data-theme=dark] .archived-count{background:var(--gray-800);border-left-color:var(--gray-600);color:var(--gray-300)}.archived-row{opacity:.7;background:var(--gray-50)}[data-theme=dark] .archived-row{background:#ffffff05}.archived-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:var(--gray-300);color:var(--gray-700);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}[data-theme=dark] .archived-badge{background:var(--gray-700);color:var(--gray-300)}.last-seen-date{color:var(--gray-600);font-size:.875rem}[data-theme=dark] .last-seen-date{color:var(--gray-400)}.page-description{color:var(--gray-600);font-size:.9375rem;margin-top:.5rem;line-height:1.5}[data-theme=dark] .page-description{color:var(--gray-400)}.remote-state-section{margin-top:1.5rem}.remote-env-grid{display:flex;gap:1.5rem;flex-wrap:wrap}.remote-env-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:.375rem;background:var(--gray-50)}[data-theme=dark] .remote-env-item{border-color:var(--gray-700);background:var(--gray-800)}.remote-env-label{font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em;min-width:3rem}.remote-env-mode{font-size:.75rem;color:var(--gray-500)}[data-theme=dark] .remote-env-mode{color:var(--gray-400)}.simulate-section{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;border:1px solid var(--blue-200, #bfdbfe);border-radius:.375rem;background:var(--blue-50, #eff6ff)}[data-theme=dark] .simulate-section{border-color:var(--gray-600);background:var(--gray-800)}.simulate-label{font-weight:600;font-size:.875rem;margin-right:.25rem}.simulate-btn{padding:.25rem .75rem;font-size:.8125rem;font-weight:500;border:1px solid var(--gray-300);border-radius:.25rem;background:#fff;cursor:pointer;transition:background .15s}.simulate-btn:hover:not(:disabled){background:var(--blue-100, #dbeafe);border-color:var(--blue-300, #93c5fd)}.simulate-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .simulate-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-200)}[data-theme=dark] .simulate-btn:hover:not(:disabled){background:var(--gray-600)}.simulate-result{font-size:.8125rem;color:var(--green-600, #16a34a);margin-left:.5rem}[data-theme=dark] .simulate-result{color:var(--green-400, #4ade80)}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{background:var(--surface-card);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;max-width:480px;width:90%;box-shadow:0 4px 24px #00000026}.dialog h3{margin:0 0 .75rem}.dialog p{margin:.5rem 0;color:var(--text-secondary)}.form-actions{display:flex;gap:.5rem;margin-top:1rem}.form-group select{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface-card);color:var(--text-primary);font-size:.875rem}.btn-sm{padding:.25rem .625rem;font-size:.75rem}.warning{color:var(--amber-600, #d97706);font-size:.875rem}.create-release-form{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;margin-bottom:1.25rem}.create-release-form h3{margin:0 0 1rem}.checkpoints-list{display:flex;flex-direction:column;gap:.5rem}.checkpoint-card{border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.checkpoint-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--surface-alt, var(--surface))}.checkpoint-info{display:flex;align-items:center;gap:.75rem}.checkpoint-meta{font-size:.8125rem;color:var(--text-secondary)}.checkpoint-actions{display:flex;align-items:center;gap:.5rem}.expand-icon{font-size:.75rem;color:var(--text-secondary)}.checkpoint-detail{padding:1rem;border-top:1px solid var(--border)}.description{color:var(--text-secondary);margin:.25rem 0}.badge-danger{background:var(--red-50);color:var(--red-600)}.badge-danger .badge-dot{background:var(--red-500)}.tab-bar{display:flex;gap:0;border-bottom:2px solid var(--gray-200);margin-bottom:1.25rem}.tab-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:transparent;font-size:.875rem;font-weight:500;color:var(--gray-500);cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.tab-btn:hover{color:var(--gray-700)}.tab-btn.active{color:var(--indigo-600);border-bottom-color:var(--indigo-600);font-weight:600}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--indigo-100);color:var(--indigo-700);border-radius:var(--radius-full);font-size:.6875rem;font-weight:700}.approval-banner-section{background:var(--amber-50);border:1px solid var(--amber-100);border-radius:var(--radius-md);padding:1.25rem 1.5rem}.approval-item{background:var(--surface-card);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-top:.75rem}.approval-item-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.approval-item-meta{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.approval-item-actions{display:flex;gap:.375rem}.approval-item-body{margin-top:.625rem;display:flex;flex-direction:column;gap:.5rem}.approval-grants,.approval-grants-inline{display:flex;gap:.5rem;flex-wrap:wrap}.approval-grant-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;border:1px solid}.approval-grant-chip.granted{background:var(--green-50);color:var(--green-700);border-color:var(--green-100)}.approval-grant-chip.pending{background:var(--gray-50);color:var(--gray-500);border-color:var(--gray-200)}.approval-grant-by{font-weight:400;color:var(--green-600)}[data-theme=dark] .tab-bar{border-bottom-color:var(--border-color)}[data-theme=dark] .tab-btn:hover{color:var(--text-primary)}[data-theme=dark] .tab-btn.active{color:var(--indigo-400);border-bottom-color:var(--indigo-400)}[data-theme=dark] .tab-count{background:#6366f126;color:var(--indigo-400)}[data-theme=dark] .approval-banner-section{background:#f59e0b14;border-color:#f59e0b33}[data-theme=dark] .approval-item{border-color:var(--border-color)}[data-theme=dark] .approval-grant-chip.pending{background:var(--gray-800);border-color:var(--border-color);color:var(--text-secondary)}
