:root,:root[data-theme=classic-dark],:root[data-theme=dark]{--field-max: 22rem;--field-sm: 16rem;--page-max: 1080px;--bg: #0a1424;--bg-elevated: #0f1c32;--bg-card: #152845;--hover: rgba(255, 255, 255, .06);--border: #243d5e;--text: #e4ecf8;--text-muted: #8fa3c4;--accent: #4f8cff;--accent-dim: #2e6ddf;--accent-soft: rgba(79, 140, 255, .2);--success: #2ecf9b;--warning: #f4b23a;--danger: #f06f7b;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--sidebar-width: 260px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .35);--page-gradient: radial-gradient(circle at top right, rgba(79, 140, 255, .1), transparent 42%);--chain-frame-bg: #0a1424;color-scheme:dark;font-family:Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased}:root[data-theme=classic-light],:root[data-theme=light]{--bg: #dce3ef;--bg-elevated: #e8edf5;--bg-card: #f2f5fa;--hover: rgba(26, 42, 68, .07);--border: #b8c5d9;--text: #1a2438;--text-muted: #5a6b85;--accent: #3d7eff;--accent-dim: #2d66d2;--accent-soft: rgba(61, 126, 255, .16);--success: #168f6a;--warning: #b8860b;--danger: #c44558;--shadow-sm: 0 2px 8px rgba(30, 50, 90, .08);--shadow-lg: 0 12px 28px rgba(30, 50, 90, .12);--page-gradient: radial-gradient(circle at top right, rgba(61, 126, 255, .07), transparent 45%);--chain-frame-bg: #e8edf5;color-scheme:light}:root[data-theme=deep-dark]{--bg: #050508;--bg-elevated: #0a0a0e;--bg-card: #121218;--hover: rgba(255, 255, 255, .04);--border: #222228;--text: #ececf1;--text-muted: #8b8b96;--accent: #5b8def;--accent-dim: #3d6fd6;--accent-soft: rgba(91, 141, 239, .16);--success: #2ecf9b;--warning: #e5a83a;--danger: #ef6b7a;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--page-gradient: none;--chain-frame-bg: #050508;color-scheme:dark}:root[data-accent=teal]{--accent: #2dd4bf;--accent-dim: #14b8a6;--accent-soft: rgba(45, 212, 191, .18)}:root[data-theme=classic-light][data-accent=teal],:root[data-theme=light][data-accent=teal]{--accent: #0d9488;--accent-dim: #0f766e;--accent-soft: rgba(13, 148, 136, .14)}:root[data-accent=violet]{--accent: #a78bfa;--accent-dim: #8b5cf6;--accent-soft: rgba(167, 139, 250, .2)}:root[data-theme=classic-light][data-accent=violet],:root[data-theme=light][data-accent=violet]{--accent: #7c3aed;--accent-dim: #6d28d9;--accent-soft: rgba(124, 58, 237, .14)}:root[data-accent=amber]{--accent: #f59e0b;--accent-dim: #d97706;--accent-soft: rgba(245, 158, 11, .2)}:root[data-theme=classic-light][data-accent=amber],:root[data-theme=light][data-accent=amber]{--accent: #d97706;--accent-dim: #b45309;--accent-soft: rgba(217, 119, 6, .14)}:root[data-accent=rose]{--accent: #f472b6;--accent-dim: #ec4899;--accent-soft: rgba(244, 114, 182, .2)}:root[data-theme=classic-light][data-accent=rose],:root[data-theme=light][data-accent=rose]{--accent: #db2777;--accent-dim: #be185d;--accent-soft: rgba(219, 39, 119, .14)}*{box-sizing:border-box}html,body,#app{min-height:100%}html.app-shell-active,html.app-shell-active body,html.app-shell-active #app{height:100%;overflow:hidden}body{margin:0;background:var(--page-gradient),var(--bg);color:var(--text);transition:background-color .2s ease,color .2s ease}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-dim)}button,input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font:inherit;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);padding:.55rem .8rem;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;max-width:var(--field-max, 22rem)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.25rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2395a8cc' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:12px 8px}:root[data-theme=classic-light] select,:root[data-theme=light] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2360708f' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")}select option{background:var(--bg-card);color:var(--text)}input[type=checkbox],input[type=radio]{width:auto;max-width:none;accent-color:var(--accent);cursor:pointer}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}button{cursor:pointer;font-weight:600}.btn-primary{background:linear-gradient(180deg,var(--accent),var(--accent-dim));border-color:transparent;color:#fff;box-shadow:0 6px 16px #4f8cff4d}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--hover)}.btn-primary:disabled,.btn-ghost:disabled{opacity:.55;cursor:not-allowed}.btn-delete{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .75rem;border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);border-radius:10px;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);font-weight:600;font-size:.875rem;line-height:1;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.btn-delete:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,transparent);border-color:var(--danger);color:var(--danger)}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.btn-delete__icon{width:1.05rem;height:1.05rem;flex-shrink:0}.btn-delete--sm{padding:.35rem .55rem;font-size:.8125rem}.btn-delete--sm .btn-delete__icon{width:.95rem;height:.95rem}.btn-delete--icon-only{padding:.4rem;min-width:2rem;min-height:2rem}.btn-delete--icon-only.btn-delete--sm{padding:.3rem;min-width:1.75rem;min-height:1.75rem}.btn-delete--icon-only .btn-delete__icon{width:1.1rem;height:1.1rem}.btn-delete--icon-only.btn-delete--sm .btn-delete__icon{width:1rem;height:1rem}label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.3rem}.form-row{margin-bottom:.9rem;max-width:var(--field-max)}.page{max-width:var(--page-max)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.25rem}.page-header__main{flex:1;min-width:0}.page-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex-shrink:0}.page-header h2{margin:0;font-size:1.45rem}.field-sm{max-width:var(--field-sm)!important}.actions-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.inline-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--text-muted);cursor:pointer;max-width:fit-content}.inline-check input{margin:0}.alert{padding:.7rem .9rem;border-radius:10px;margin-bottom:1rem;font-size:.875rem}.alert-error{background:color-mix(in srgb,var(--danger) 14%,transparent);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger)}.alert-success{background:color-mix(in srgb,var(--success) 14%,transparent);border:1px solid color-mix(in srgb,var(--success) 36%,transparent);color:var(--success)}.alert-warn{background:color-mix(in srgb,var(--warning, #d4a012) 14%,transparent);border:1px solid color-mix(in srgb,var(--warning, #d4a012) 35%,transparent);color:var(--warning, #b8860b)}.badge{display:inline-block;padding:.18rem .52rem;border-radius:999px;font-size:.72rem;font-weight:600}.badge-private{background:#a78bfa33;color:#a78bfa}.badge-multi{background:#38bdf833;color:#38bdf8}.badge-ok{background:#34d39926;color:var(--success)}.badge-pending{background:#fbbf2426;color:var(--warning)}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem;margin-bottom:1.25rem;transition:border-color .18s ease,box-shadow .18s ease}.panel:hover{box-shadow:var(--shadow-lg)}.panel h3{margin:0 0 1rem;font-size:1rem}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--bg-card)}th,td{padding:.68rem .88rem;border-bottom:1px solid var(--border);text-align:left}th{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}tbody tr:hover{background:var(--hover)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1rem}.card h4{margin:0 0 .35rem;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.card .val{font-size:1.35rem;font-weight:700}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.5rem;width:min(100%,32rem);max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal-card.wide{width:min(100%,40rem)}.modal-card .form-row{max-width:none}.modal-card input:not([type=checkbox]):not([type=radio]),.modal-card select,.modal-card textarea{max-width:100%}.form-row.member{max-width:none}.muted{color:var(--text-muted);font-size:.875rem}.app-icon{display:block;flex-shrink:0;width:1.25rem;height:1.25rem}.app-icon--sm{width:1rem;height:1rem}.app-icon--md{width:1.25rem;height:1.25rem}.app-icon--lg{width:1.5rem;height:1.5rem}.app-icon--xl{width:2rem;height:2rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .75rem;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn--ghost{border-color:var(--border)}.icon-btn--primary{background:linear-gradient(180deg,var(--accent),var(--accent-dim));border-color:transparent;color:#fff}.icon-btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn--active{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.page-back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted);text-decoration:none;font-size:.875rem;font-weight:600;margin-right:.5rem;vertical-align:middle;transition:color .15s ease}.page-back-link:hover{color:var(--accent)}.page-header--with-back{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.page-header--with-back h2{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.page-subtitle{margin:.35rem 0 0;font-size:.875rem;color:var(--text-muted);font-weight:400}.stat-card{position:relative;overflow:hidden;padding:1.1rem 1.15rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease}.stat-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:var(--shadow-lg)}.stat-card__icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:10px;background:var(--accent-soft);color:var(--accent);margin-bottom:.65rem}.stat-card h4{margin:0 0 .35rem;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-card .val{font-size:1.35rem;font-weight:700;line-height:1.2}.quick-card{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);text-decoration:none;font-weight:600;font-size:.9rem;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .12s ease}.quick-card:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:translateY(-1px)}.quick-card__icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);flex-shrink:0}.section-hint{margin:0 0 1rem;font-size:.85rem;color:var(--text-muted);line-height:1.5}.panel-title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.panel-title-row h3{margin:0}
