:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--motion-fast:.12s;--motion-med:.2s;--motion-slow:.32s;--easing:cubic-bezier(.2,.8,.2,1);--anim-in:fadeInUp var(--motion-slow) var(--easing) both;--radius:10px;--shadow:0 10px 30px rgba(0,0,0,.35);--shadow-sm:0 4px 16px rgba(0,0,0,.25);--header-h:56px;--app-w:min(50vw,1300px)}@media(max-width:1024px){:root{--app-w:min(92vw,900px)}}@media(max-width:640px){:root{--app-w:100vw}}:root[data-theme=light]{--bg:#f7f7fb;--surface:#fff;--muted-surface:#f3f4f6;--text:#0f172a;--text-muted:#475569;--primary:#2563eb;--primary-600:#1d4ed8;--success:#059669;--warn:#d97706;--danger:#dc2626;--border:#e5e7eb;--ring:rgba(37,99,235,.35)}:root[data-theme=dark]{--bg:#0b1220;--surface:#0f172a;--muted-surface:#111827;--text:#e5e7eb;--text-muted:#9ca3af;--primary:#60a5fa;--primary-600:#3b82f6;--success:#34d399;--warn:#f59e0b;--danger:#f87171;--border:#1f2937;--ring:rgba(96,165,250,.45)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg:#0b1220;--surface:#0f172a;--muted-surface:#111827;--text:#e5e7eb;--text-muted:#9ca3af;--primary:#60a5fa;--primary-600:#3b82f6;--success:#34d399;--warn:#f59e0b;--danger:#f87171;--border:#1f2937;--ring:rgba(96,165,250,.45)}}*{box-sizing:border-box}html,body,#root{height:100dvh}@supports not (height:100dvh){html,body,#root{height:100vh}}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:radial-gradient(1200px 800px at 10% -10%,rgba(96,165,250,.15),transparent 60%),radial-gradient(1000px 600px at 100% 20%,rgba(34,197,94,.1),transparent 70%),var(--bg);color:var(--text);display:flex;justify-content:center;align-items:stretch;overflow:hidden}#root{width:var(--app-w);max-width:100vw;display:flex;flex-direction:column;min-height:0;position:relative;animation:var(--anim-in)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}header.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px;block-size:var(--header-h);padding:12px 14px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 6px 20px #0000002e}.brand{font-weight:700}.side-panel{position:fixed;top:0;left:50%;transform:translate(-50%);width:var(--app-w);height:100%;z-index:2000;pointer-events:none}.side-panel .backdrop{position:absolute;left:0;right:0;top:var(--header-h);bottom:0;background:#00000059;opacity:0;visibility:hidden;transition:opacity var(--motion-med) var(--easing),visibility 0s linear var(--motion-med)}.side-panel .drawer{position:absolute;top:var(--header-h);left:0;height:calc(100% - var(--header-h));width:clamp(260px,28vw,360px);max-width:calc(var(--app-w) - 24px);background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow);transform:translate(-24px);opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--motion-med) var(--easing),opacity var(--motion-med) var(--easing),visibility 0s linear var(--motion-med);clip-path:inset(0 100% 0 0 round 0)}.side-panel.open{pointer-events:auto}.side-panel.open .backdrop{opacity:1;visibility:visible;transition-delay:0s}.side-panel.open .drawer{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto;clip-path:inset(0 0 0 0 round 0)}.nav{padding:18px}.nav a{display:block;padding-left:10px;color:var(--text);text-decoration:none;border-radius:8px}.nav a:hover,.nav a[aria-current=page]{background:var(--muted-surface);color:var(--primary)}.container{height:calc(100% - var(--header-h));overflow:auto;min-height:0;-webkit-overflow-scrolling:touch}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);animation:var(--anim-in);padding:1px}.card.stack{min-height:0;margin-inline:auto}.input,input[type=text],input[type=date]{width:100%;background:var(--muted-surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;outline:none;transition:border-color var(--motion-fast) var(--easing),box-shadow var(--motion-fast) var(--easing)}input::placeholder{color:var(--text-muted)}input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}input[type=date]{color-scheme:light dark}:root[data-theme=light] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(40%) brightness(90%) contrast(85%);opacity:.9}:root[data-theme=light] input[type=date]:hover::-webkit-calendar-picker-indicator,:root[data-theme=light] input[type=date]:focus::-webkit-calendar-picker-indicator{filter:invert(30%) brightness(70%) contrast(95%);opacity:1}.grid-add{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr auto;gap:10px}@media(max-width:860px){.grid-add{grid-template-columns:1fr}}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}table.table{width:100%;border-collapse:collapse;min-width:650px}.table thead th{text-align:left;color:var(--text-muted);font-weight:600;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 12px;position:sticky;top:0}.table tbody td{border-bottom:1px solid var(--border);padding:10px 12px}.table tbody tr:hover{background:#ffffff05}.th-sortable{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;padding:6px 8px;border-radius:8px;color:var(--text);cursor:pointer}.th-sortable:hover{background:var(--muted-surface);border-color:var(--border)}.th-sortable svg{width:16px;height:16px;display:block;color:var(--text-muted)}.icon-btn{--size:38px;width:var(--size);height:var(--size);padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--muted-surface);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;line-height:1;transition:transform .06s ease,background var(--motion-fast) var(--easing),border-color var(--motion-fast) var(--easing),color var(--motion-fast) var(--easing)}.icon-btn:hover{background:#ffffff0f;border-color:var(--primary);color:var(--primary)}.icon-btn:active{transform:translateY(1px)}.icon-btn[disabled]{opacity:.5;cursor:not-allowed}.icon-btn svg{width:18px;height:18px;display:block}.btn-text{background:transparent;border:none;color:var(--text-muted);padding:6px 8px;border-radius:8px;cursor:pointer}.btn-text:hover{color:var(--text);text-decoration:underline}.pp-wrapper{position:relative}.pp-input{width:100%;background:var(--muted-surface);color:var(--text)}.pp-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm);max-height:320px;min-width:200px;overflow:auto;z-index:40}.pp-item{padding:10px 12px;cursor:pointer}.pp-item:hover{background:var(--muted-surface)}.pp-sub{color:var(--text-muted);font-size:12px}.profile{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.profile .avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.org-node{margin-left:18px;margin-top:8px}.org-line{display:flex;align-items:center;gap:8px}.org-btn{margin-left:8px}:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring)!important}@media(prefers-reduced-motion:reduce){:root{--motion-fast:0ms;--motion-med:0ms;--motion-slow:0ms;--anim-in:none}*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}h2{margin-top:0;margin-bottom:0}
