:root{--bg-0: #f5f7fb;--card-bg: rgba(255, 255, 255, .72);--card-border: rgba(255, 255, 255, .65);--card-shadow: 0 20px 60px -20px rgba(31, 41, 80, .18), 0 8px 24px -12px rgba(31, 41, 80, .08);--text: #121826;--text-soft: #3b4357;--muted: #6b7280;--line: rgba(15, 23, 42, .06);--line-strong: rgba(15, 23, 42, .1);--surface-input: rgba(255, 255, 255, .85);--surface-raised: rgba(255, 255, 255, .7);--surface-hover: rgba(99, 102, 241, .05);--top-bar-bg: rgba(255, 255, 255, .7);--menu-bg: #ffffff;--logo-invert: 0;--accent: #6366f1;--accent-2: #8b5cf6;--accent-soft: rgba(99, 102, 241, .12);--accent-ring: rgba(99, 102, 241, .28);--danger: #e11d48;--radius-lg: 20px;--radius-md: 12px;--radius-sm: 8px;--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:light}:root[data-theme=dark]{--bg-0: #0b0f1a;--card-bg: rgba(22, 27, 41, .72);--card-border: rgba(255, 255, 255, .08);--card-shadow: 0 24px 70px -20px rgba(0, 0, 0, .6), 0 10px 28px -12px rgba(0, 0, 0, .45);--text: #e6e8ef;--text-soft: #b9bfcf;--muted: #8a93a8;--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .14);--surface-input: rgba(255, 255, 255, .04);--surface-raised: rgba(255, 255, 255, .04);--surface-hover: rgba(129, 140, 248, .12);--top-bar-bg: rgba(11, 15, 26, .65);--menu-bg: #161b29;--logo-invert: 1;--accent: #818cf8;--accent-2: #a78bfa;--accent-soft: rgba(129, 140, 248, .16);--accent-ring: rgba(129, 140, 248, .35);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow-x:hidden}body{font-family:Inter,Segoe UI,system-ui,-apple-system,Arial,sans-serif;color:var(--text);background:var(--bg-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em;overflow:hidden}body:before,body:after{content:"";position:fixed;border-radius:50%;filter:blur(90px);opacity:.5;pointer-events:none;z-index:0}body:before{width:520px;height:520px;top:-160px;left:-140px;background:radial-gradient(circle,rgba(99,102,241,.45),transparent 70%);animation:floatA 22s ease-in-out infinite}body:after{width:560px;height:560px;bottom:-200px;right:-160px;background:radial-gradient(circle,rgba(139,92,246,.35),transparent 70%);animation:floatB 26s ease-in-out infinite}#root{position:relative;z-index:1;height:100%}a{color:inherit;text-decoration:none}.page{height:100vh;display:grid;grid-template-rows:68px 1fr 56px;overflow:hidden}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--top-bar-bg);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;transition:transform .2s var(--ease)}.brand:hover{transform:scale(1.02)}.top-logo{height:30px;width:auto;max-width:220px;object-fit:contain;display:block;filter:invert(var(--logo-invert));transition:filter .2s var(--ease)}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:38px;height:38px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--text);cursor:pointer;padding:0;font-size:14px;position:relative;overflow:hidden;transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.icon-btn:hover{border-color:var(--accent-ring);transform:translateY(-1px)}.icon-btn.lang{width:auto;padding:0 12px;gap:6px;font-weight:600;font-size:13px}.icon-btn .flag{font-size:16px;line-height:1}.theme-toggle-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform .35s var(--ease),opacity .25s var(--ease)}.theme-toggle-icon.sun{opacity:1;transform:rotate(0)}.theme-toggle-icon.moon{opacity:0;transform:rotate(-90deg)}:root[data-theme=dark] .theme-toggle-icon.sun{opacity:0;transform:rotate(90deg)}:root[data-theme=dark] .theme-toggle-icon.moon{opacity:1;transform:rotate(0);color:#e2e8f0}.lang-wrap{position:relative}.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--menu-bg);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--card-shadow);padding:6px;z-index:1000;display:flex;flex-direction:column;gap:2px;animation:fadeInMenu .18s var(--ease)}.lang-menu button{display:flex;align-items:center;gap:10px;padding:9px 10px;width:100%;border:0;background:transparent;color:var(--text);font-size:13px;font-weight:500;font-family:inherit;text-align:left;border-radius:var(--radius-sm);cursor:pointer;transition:background .18s var(--ease)}.lang-menu button:hover{background:var(--surface-hover)}.lang-menu button.active{color:var(--accent);background:var(--accent-soft)}@keyframes fadeInMenu{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.bottom-bar{display:flex;justify-content:flex-end;align-items:center;padding:0 28px}.footer-brand{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:500;text-decoration:none}.footer-icon{height:18px;width:auto;max-width:28px;object-fit:contain;display:block;filter:invert(var(--logo-invert));transition:filter .2s var(--ease)}.login-main{display:flex;justify-content:center;align-items:center;padding:20px;overflow:auto}.login-container{width:100%;max-width:440px}.back-link{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:14px;border-radius:8px;transition:color .2s var(--ease),background .2s var(--ease)}.back-link:hover{color:var(--accent);background:var(--accent-soft)}.login-card{padding:40px 36px;background:var(--card-bg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);animation:cardIn .5s var(--ease) both}.login-icon{width:64px;height:64px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:24px;border-radius:18px;background:linear-gradient(135deg,var(--accent-soft),rgba(139,92,246,.15));color:var(--accent);box-shadow:0 10px 25px -10px var(--accent-ring);animation:pulse 2.4s ease-in-out infinite}.login-card h1{margin:0 0 6px;font-size:24px;font-weight:700;letter-spacing:-.02em;text-align:center}.login-card .desc{margin:0 0 26px;color:var(--muted);font-size:14px;line-height:1.5;text-align:center}.login-form{display:flex;flex-direction:column;gap:14px}.field-label{font-size:13px;font-weight:500;color:var(--text-soft)}.field-icon{position:absolute;left:14px;color:var(--muted);font-size:13px;pointer-events:none;transition:color .2s var(--ease)}.field-input input{width:100%;padding:12px 14px 12px 40px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:14px;font-family:inherit;outline:none;background:var(--surface-input);color:var(--text);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.field-input input:focus{border-color:var(--accent);background:var(--surface-input);box-shadow:0 0 0 4px var(--accent-ring)}.field-input:focus-within .field-icon{color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:var(--radius-md);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent;transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 12px 28px -10px var(--accent-ring)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 16px 34px -10px var(--accent-ring)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-block{width:100%;justify-content:center}.form-error{margin-top:4px;padding:10px 14px;color:var(--danger);background:#e11d4814;border:1px solid rgba(225,29,72,.2);border-radius:var(--radius-md);font-size:13px;text-align:center;animation:shake .4s var(--ease)}@keyframes cardIn{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{box-shadow:0 10px 25px -10px var(--accent-ring)}50%{box-shadow:0 14px 32px -10px #6366f173}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes floatA{0%,to{transform:translate(0)}50%{transform:translate(60px,40px)}}@keyframes floatB{0%,to{transform:translate(0)}50%{transform:translate(-60px,-40px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:640px){.page{grid-template-rows:60px 1fr 52px}.top-bar,.bottom-bar,.login-main{padding-left:16px;padding-right:16px}.login-main{padding-top:16px;padding-bottom:16px}.top-logo{height:26px;max-width:170px}.top-actions{gap:6px}.icon-btn{width:36px;height:36px}.icon-btn.lang{padding:0 10px;font-size:12px}.login-main{padding:16px}.login-card{padding:28px 20px}.login-card h1{font-size:22px}.login-card .desc{font-size:13px;margin-bottom:22px}.login-icon{width:56px;height:56px;font-size:20px;margin-bottom:14px}.back-link,.footer-brand{font-size:12px}}@media(max-width:420px){.top-bar,.bottom-bar,.login-main{padding-left:12px;padding-right:12px}.top-logo{height:22px;max-width:140px}.icon-btn.lang{padding:0 8px;gap:4px}.icon-btn.lang .code,.icon-btn.lang .chevron{display:none}}.dash-layout{display:flex;height:100vh;overflow:hidden}.dash-sidebar{width:240px;min-width:240px;background:var(--menu-bg);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.dash-brand{padding:20px 20px 12px;border-bottom:1px solid var(--line)}.dash-logo{height:28px;filter:invert(var(--logo-invert))}.dash-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.dash-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-soft);font-size:.875rem;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background .15s var(--ease),color .15s var(--ease)}.dash-nav-item:hover{background:var(--surface-hover);color:var(--text)}.dash-nav-item.active{background:var(--accent-soft);color:var(--accent)}.dash-nav-icon{font-size:1rem;flex-shrink:0}.dash-sidebar-footer{padding:12px 8px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.dash-user-info{padding:6px 12px}.dash-username{font-size:.8rem;color:var(--muted);font-weight:500}.dash-logout-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-soft);font-size:.875rem;cursor:pointer;width:100%;transition:background .15s,color .15s}.dash-logout-btn:hover{background:#e11d4814;color:var(--danger)}.dash-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-0)}.dash-topbar{position:relative;z-index:500;height:52px;padding:0 12px;display:flex;align-items:center;justify-content:flex-end;gap:8px;border-bottom:1px solid var(--line);background:var(--top-bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0}.dash-topbar-icon{display:none;height:28px;width:auto;filter:invert(var(--logo-invert));flex-shrink:0;margin-right:auto}.tenant-switcher{margin-right:auto}.tenant-switcher .lang-menu{right:auto;left:0;z-index:99999}.dash-topbar-right{display:flex;align-items:center;gap:8px}.dash-topbar-user{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:var(--text-1);font-size:.875rem;font-weight:500;padding:6px 10px;border-radius:6px;transition:background .15s}.dash-topbar-user:hover{background:var(--bg-2)}.dash-topbar-user svg{font-size:1.1rem;opacity:.7}.dash-topbar-username{font-size:.85rem;font-weight:500;color:var(--text-soft);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.tenant-admin-crown{color:#d4a017;font-size:.85rem;filter:drop-shadow(0 0 1px rgba(212,160,23,.4))}.dash-content{flex:1;overflow-y:auto;padding:0 32px 28px}.page-section{max-width:900px}.section-header{position:sticky;top:0;z-index:100;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 -32px 24px;padding:24px 32px 16px;background:var(--bg-0);transition:padding .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.dash-content.scrolled .section-header{padding:10px 32px;background:var(--top-bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 4px 12px -8px #0000001f;align-items:center}.dash-content.scrolled .section-title{font-size:1rem}.dash-content.scrolled .section-sub{display:none}.section-title{font-size:1.35rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:10px;margin:0 0 4px;transition:font-size .2s var(--ease)}.section-sub{font-size:.875rem;color:var(--muted);margin:0}.modal-backdrop{position:fixed;inset:0;background:#00000073;z-index:10000;display:flex;align-items:center;justify-content:center;padding:32px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-box{background:var(--card-bg);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:0 24px 64px -12px #00000059;width:100%;min-width:800px;max-width:min(1400px,calc(100vw - 40px));max-height:calc(100vh - 64px);overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;flex-shrink:0;background:var(--card-bg);border-bottom:1px solid var(--line)}.modal-title{font-size:1rem;font-weight:600;color:var(--text);margin:0}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:4px;line-height:1;border-radius:var(--radius-sm);transition:color .15s,background .15s}.modal-close:hover{color:var(--text);background:var(--surface-hover)}.modal-body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;flex:1 1 auto}@media(max-width:740px){.modal-backdrop{padding:2px;align-items:center}.modal-box{min-width:0;width:calc(100vw - 4px);max-width:calc(100vw - 4px);max-height:calc(100vh - 4px);border-radius:var(--radius-sm)}}.form-card{background:var(--card-bg);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:24px;margin-bottom:24px;display:flex;flex-direction:column;gap:16px}.form-card-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 4px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.8rem;font-weight:600;color:var(--text-soft);letter-spacing:.01em}.field-text,.field-select,.field-textarea{background:var(--surface-input);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 12px;color:var(--text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s;width:100%}.field-text:focus,.field-select:focus,.field-textarea:focus{border-color:var(--accent)}.field-text:disabled{opacity:.55;cursor:not-allowed}.field-textarea{resize:vertical;font-family:Menlo,Consolas,monospace;font-size:.82rem;line-height:1.6}.field-hint{font-size:.78rem;color:var(--muted)}.field-input{position:relative;display:flex;align-items:center}.field-input .field-icon{position:absolute;left:10px;color:var(--muted);font-size:.85rem;pointer-events:none}.field-input .field-text{padding-left:32px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-soft);cursor:pointer}.role-check-list{display:flex;flex-direction:column;gap:6px;padding:8px 0}.form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding-top:4px}.form-msg{padding:10px 14px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500}.form-msg-ok{background:#22c55e1f;color:#16a34a;border:1px solid rgba(34,197,94,.25)}.form-msg-err{background:#e11d4814;color:var(--danger);border:1px solid rgba(225,29,72,.2)}.form-divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.form-section-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .75rem}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-sm);border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s var(--ease),opacity .15s;white-space:nowrap;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-2)}.btn-secondary{background:var(--accent-soft);color:var(--accent)}.btn-secondary:hover:not(:disabled){background:#6366f12e}.btn-ghost{background:transparent;color:var(--text-soft);border:1px solid var(--line-strong)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover)}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover:not(:disabled){background:#be123c}.dialog-backdrop{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:30000;animation:fadeIn .15s ease}.dialog-box{background:var(--menu-bg);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:0 20px 60px #00000040;width:100%;max-width:420px;margin:1rem;animation:slideUp .18s ease}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.25rem 0}.dialog-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:#6366f11f;color:var(--primary)}.dialog-icon-danger{background:#e11d481a;color:var(--danger)}.dialog-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:var(--radius-sm);line-height:1}.dialog-close:hover{background:var(--surface-hover);color:var(--text)}.dialog-body{padding:.75rem 1.25rem 0}.dialog-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 .4rem}.dialog-message{font-size:.875rem;color:var(--text-soft);margin:0;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:1.25rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-soft);cursor:pointer;transition:background .15s,color .15s;font-size:.9rem}.btn-icon:hover{background:var(--surface-hover);color:var(--accent)}.btn-icon-danger:hover{background:#e11d4814;color:var(--danger)}.item-list,.link-categories{display:flex;flex-direction:column;gap:8px}.link-category{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--card-bg);overflow:hidden;transition:border-color .2s var(--ease)}.link-category.open{border-color:var(--accent-ring)}.link-category-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:transparent;border:none;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--text);text-align:left;transition:background .15s var(--ease)}.link-category-header:hover{background:var(--surface-hover)}.link-category-chevron{font-size:.8rem;color:var(--muted);transition:transform .2s var(--ease);flex-shrink:0}.link-category.open .link-category-chevron{transform:rotate(90deg);color:var(--accent)}.link-category-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-category-count{background:var(--surface-raised);color:var(--muted);font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;flex-shrink:0}.link-category.open .link-category-count{background:var(--accent-soft);color:var(--accent)}.link-category-items{display:flex;flex-direction:column;gap:6px;padding:4px 10px 12px}.swipe-wrap{position:relative;overflow:hidden;border-radius:var(--radius-md)}.swipe-reveal{position:absolute;top:0;bottom:0;width:72px;display:none;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;cursor:pointer}.swipe-reveal-left{left:0;background:var(--accent);border-radius:var(--radius-md) 0 0 var(--radius-md)}.swipe-reveal-right{right:0;background:var(--danger);border-radius:0 var(--radius-md) var(--radius-md) 0}.page-actions{display:flex;align-items:center;gap:8px}.search-input{height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text);font-size:.82rem;font-family:inherit;outline:none;min-width:0;flex:1;max-width:260px;transition:border-color .15s}.search-input:focus{border-color:var(--accent-ring)}.search-input::placeholder{color:var(--muted)}.item-card{display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;transition:border-color .15s}.item-card:hover{border-color:var(--line-strong)}.item-card-left{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1;overflow:hidden}.item-card-left>div{min-width:0;flex:1;overflow:hidden}.item-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.item-badge{font-size:.72rem;font-weight:700;letter-spacing:.04em;background:var(--line-strong);color:var(--muted);border-radius:6px;padding:3px 8px;flex-shrink:0}.item-name{font-size:.9rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px}.item-desc{font-size:.8rem;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}.item-token{font-size:.75rem;color:var(--muted);font-family:monospace;margin-top:4px;display:flex;flex-direction:column;gap:6px;word-break:break-all;min-width:0}.item-token-link{font-family:monospace;font-size:.72rem;color:var(--primary);text-decoration:none;word-break:break-all;overflow-wrap:anywhere}.item-token-link:hover{text-decoration:underline}.item-lock{font-size:.75rem;color:var(--muted)}.item-role-badge{font-size:.85rem;color:var(--accent)}.item-inactive{color:var(--danger)}.list-loading,.list-empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:.9rem}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.folder-pick-row{display:flex;gap:8px;align-items:center}.folder-pick-row .field-text{flex:1}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:20000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box{background:var(--menu-bg);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(480px,calc(100vw - 32px));max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--card-shadow)}@media(min-width:769px){.modal-overlay{background:#00000026;justify-content:flex-end;align-items:stretch;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-overlay .modal-box{width:360px;max-width:360px;max-height:100%;height:100%;border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none;box-shadow:-8px 0 32px #0000002e}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-title{font-weight:700;font-size:1rem;color:var(--text)}.modal-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;display:flex;padding:4px}.folder-breadcrumb{padding:10px 20px;font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--line)}.bc-sep{margin:0 6px}.bc-item:last-child{color:var(--text);font-weight:600}.folder-list{flex:1;overflow-y:auto;padding:8px}.folder-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:none;background:none;color:var(--text);font-size:.875rem;cursor:pointer;text-align:left;transition:background .12s}.folder-item:hover{background:var(--surface-hover)}.folder-icon{color:var(--accent);flex-shrink:0}.folder-open-hint{color:var(--muted);margin-left:auto;font-size:.75rem}.folder-loading,.folder-empty,.folder-error{text-align:center;padding:24px;color:var(--muted);font-size:.875rem}.folder-error{color:var(--danger)}.modal-footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line);flex-shrink:0;background:var(--card-bg)}.modal-footer .btn{flex-shrink:1;min-width:0;white-space:nowrap}.form-error{color:var(--danger);font-size:.875rem;margin-top:4px}@media(max-width:768px){.dash-layout{flex-direction:column}.dash-sidebar{position:fixed;bottom:0;left:0;right:0;width:100%;height:auto;flex-direction:row;align-items:center;padding:0 8px;border-right:none;border-top:1px solid var(--line);border-bottom:none;overflow-x:auto;z-index:100;background:var(--menu-bg);box-shadow:0 -2px 12px #00000014}.dash-main{padding-bottom:55px}.dash-brand{display:none}.dash-nav{flex-direction:row;flex:1;gap:0;padding:4px 0;justify-content:space-around}.dash-nav-item{flex-direction:column;gap:3px;padding:6px 10px;font-size:.7rem;white-space:nowrap;border-radius:var(--radius-sm)}.dash-nav-icon{font-size:1.2rem}.dash-sidebar-footer{flex-direction:column;align-items:center;gap:2px;padding:4px 6px;border-top:none;border-left:1px solid var(--line);flex-shrink:0;background:var(--menu-bg)}.dash-user-info,.dash-logout-btn span{display:none}.dash-logout-btn{padding:8px;color:var(--danger)}.dash-topbar-user span{display:none}.dash-topbar-icon{display:block}.dash-topbar:has(.tenant-switcher) .dash-topbar-icon{display:none}.tenant-switcher .icon-btn.lang{padding:6px 8px;font-size:.78rem;max-width:140px}.tenant-switcher .icon-btn.lang .code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-topbar-right{margin-left:12px}.dash-topbar-username{overflow:hidden;text-overflow:ellipsis;max-width:100px;z-index:0}.dash-main{height:calc(100vh - 56px);overflow-y:auto}.dash-content{padding:16px}.field-row{grid-template-columns:1fr}.item-card{position:relative;flex-direction:column;align-items:flex-start;padding:8px 10px;gap:2px}.item-card-left{width:100%;flex-direction:column;align-items:flex-start;gap:2px;padding-right:68px}.item-card-actions{position:absolute;top:6px;right:8px;gap:2px}.item-name{font-size:.82rem}.item-desc{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swipe-reveal{display:flex}.item-card-actions,.section-sub{display:none}.section-header{flex-wrap:nowrap;align-items:center;gap:8px;margin:0 -16px 14px;padding:10px 16px}.dash-content.scrolled .section-header{padding:8px 16px}.section-title{font-size:1rem;margin:0}.dash-content.scrolled .section-title{font-size:.9rem}.page-actions{position:fixed;bottom:55px;left:0;right:0;z-index:150;display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--menu-bg);border-top:1px solid var(--line);box-shadow:0 -2px 8px #0000000f}.page-actions .search-input{flex:1;max-width:none;font-size:.85rem;border-radius:var(--radius-sm)}.page-actions .btn-primary{flex-shrink:0;padding:7px 10px;border-radius:50%;min-width:36px;min-height:36px;justify-content:center}.page-actions .btn-primary .btn-label{display:none}.dash-content{padding:0 16px 115px}.page-section{max-width:100%}.form-actions .btn,.modal-footer .btn{font-size:.78rem;padding:7px 10px;white-space:nowrap}.dash-sidebar-footer .dash-logout-btn{font-size:.7rem;padding:5px 4px}.field-textarea{font-size:9px;line-height:1.4}.field-select{font-size:1rem;padding:11px 12px}}
