:root{--bg: #0b0f14;--bg-elev: #11161d;--surface: #161d26;--surface-2: #1c2530;--border: #232e3b;--text: #e8edf3;--text-muted: #8b98a8;--text-faint: #5c6b7d;--primary: #2dd4a7;--primary-strong: #14b88c;--primary-soft: rgba(45, 212, 167, .12);--danger: #ef5350;--danger-soft: rgba(239, 83, 80, .12);--warn: #f5b544;--info: #4da3ff;--ok: #2dd4a7;--pending: #f5b544;--err: #ef5350;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-glow: 0 0 0 1px var(--primary-soft), 0 0 24px rgba(45, 212, 167, .12);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-8: 48px;--sidebar-w: 250px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}#root{min-height:100vh}h1,h2,h3,h4{margin:0 0 var(--sp-3);line-height:1.2;letter-spacing:-.01em}h2{font-size:1.4rem}h3{font-size:1.05rem;color:var(--text)}p{margin:0 0 var(--sp-3)}a{color:var(--primary)}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg-elev);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--sp-5) var(--sp-4);position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--sp-6)}.brand .logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#0f8f6e);display:grid;place-items:center;font-size:17px;box-shadow:var(--shadow-glow)}.nav{display:flex;flex-direction:column;gap:var(--sp-1);flex:1}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);border:none;background:none;color:var(--text-muted);font-size:.95rem;font-family:var(--font);cursor:pointer;text-align:left;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-item .ico{font-size:1.05rem;width:22px;text-align:center}.sidebar .user-chip{margin-top:auto;padding:var(--sp-3);background:var(--surface);border-radius:var(--r-md);font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap}.user-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0}.user-chip .email{overflow:hidden;text-overflow:ellipsis;flex:1}.main{flex:1;padding:var(--sp-6) var(--sp-8);max-width:1100px}.topbar{display:none;align-items:center;justify-content:space-between;padding:var(--sp-4);background:var(--bg-elev);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar .brand{margin:0;font-size:1.05rem}.topbar .brand .logo{width:30px;height:30px;font-size:15px}.burger{background:none;border:1px solid var(--border);color:var(--text);border-radius:var(--r-sm);padding:6px 10px;font-size:1.1rem;cursor:pointer}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);margin-bottom:var(--sp-5);box-shadow:var(--shadow-sm)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-4);gap:var(--sp-3);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:var(--r-md);border:1px solid transparent;font-family:var(--font);font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;text-decoration:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:#06251c}.btn-primary:hover{background:var(--primary-strong);box-shadow:var(--shadow-glow)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-faint)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn-danger:hover{background:#ef535033}.btn-sm{padding:6px 12px;font-size:.82rem;border-radius:var(--r-sm)}.btn-block{width:100%;justify-content:center}.btn:disabled{opacity:.5;cursor:not-allowed}.field{margin-bottom:var(--sp-4)}.field label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:var(--sp-2);font-weight:500}.input,.select,textarea.input{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-family:var(--font);font-size:.92rem;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,textarea.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input::placeholder{color:var(--text-faint)}.table-wrap{overflow-x:auto;border-radius:var(--r-md)}table.meetings{width:100%;border-collapse:collapse;min-width:640px}table.meetings th{text-align:left;padding:10px 12px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border-bottom:1px solid var(--border);white-space:nowrap}table.meetings td{padding:12px;border-bottom:1px solid var(--border);font-size:.92rem;vertical-align:middle}table.meetings tr:last-child td{border-bottom:none}table.meetings tr:hover td{background:var(--surface-2)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-full);font-size:.75rem;font-weight:600;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-pending{background:var(--pending);color:#3d2a00}.badge-joined{background:var(--info);color:#06284d}.badge-done{background:var(--ok);color:#06251c}.badge-error{background:var(--err);color:#fff}.badge-rejected{background:#b00020;color:#fff}.badge-plat{background:var(--surface-2);color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px}.badge-plat:before{display:none}.meeting-cards{display:none;flex-direction:column;gap:var(--sp-3)}.meeting-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4)}.meeting-card .mc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-2)}.meeting-card .mc-title{font-weight:600;font-size:.95rem;margin-bottom:var(--sp-1)}.meeting-card .mc-meta{font-size:.8rem;color:var(--text-muted);margin-bottom:var(--sp-3)}.meeting-card .mc-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.segment{display:flex;gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);margin-bottom:var(--sp-3);animation:fadeUp .35s ease both}.segment .time{font-family:var(--mono);font-size:.75rem;color:var(--text-faint);white-space:nowrap;padding-top:3px;min-width:84px}.segment .body{flex:1;font-size:.95rem}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:var(--sp-5);background:radial-gradient(800px 400px at 80% -10%,rgba(45,212,167,.1),transparent 60%),radial-gradient(600px 300px at 10% 110%,rgba(77,163,255,.07),transparent 60%),var(--bg)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6);box-shadow:var(--shadow-md)}.login-card .brand{justify-content:center;margin-bottom:var(--sp-5)}.login-card h2{text-align:center;font-size:1.2rem;margin-bottom:var(--sp-4)}.login-hint{text-align:center;font-size:.8rem;color:var(--text-faint);margin-top:var(--sp-4)}.error{color:var(--danger);font-size:.85rem;margin:var(--sp-2) 0}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.spacer{flex:1}.empty{text-align:center;padding:var(--sp-8) var(--sp-5);color:var(--text-faint);border:1px dashed var(--border);border-radius:var(--r-md)}.platform-chip{font-family:var(--mono);font-size:.72rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.rec-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--err);animation:pulse 1.2s infinite}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--border)}@media(max-width:900px){.sidebar{display:none}.topbar{display:flex}.main{padding:var(--sp-4)}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--bg-elev);border-top:1px solid var(--border);z-index:30;padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:4px}.mobile-nav .nav-item{flex:1;justify-content:center;text-align:center;padding:8px 4px;font-size:.72rem;flex-direction:column;gap:2px}.mobile-nav .nav-item .ico{font-size:1.2rem}body{padding-bottom:64px}}@media(max-width:640px){table.meetings{display:none}.meeting-cards{display:flex}.card{padding:var(--sp-4)}.segment{flex-direction:column;gap:var(--sp-1)}.segment .time{min-width:0}h2{font-size:1.2rem}}.notice{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:10px;max-width:min(92vw,560px);padding:12px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px #00000059;font-size:14px;cursor:pointer;animation:notice-in .2s ease-out}@keyframes notice-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.notice-ok{border-color:#2dd4a780;color:var(--ok)}.notice-err{border-color:#ef535099;color:var(--err)}.notice .notice-close{background:none;border:none;color:inherit;opacity:.7;font-size:14px;cursor:pointer;margin-left:auto;padding:2px 6px}.notice .notice-close:hover{opacity:1}
