@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--bg:#d7eaf4;--bg2:#c5dfec;--card:#fff;--panel:#f5fbfe;--nav:#ecf6fb;--line:#b9d9e9;--text:#113653;--muted:#6086a1;--accent:#21b6ed;--cyan:#5ddcff;--accentText:#065888;--header:#eef8fc;--shadow:0 14px 38px rgba(21,89,129,.06);--field:#f8fcff;--hover:#dceefa;--danger:#c84058;--badge:#e0f4fd}
:root[data-theme="dark"]{color-scheme:dark;--bg:#091623;--bg2:#102338;--card:#11263a;--panel:#0e2133;--nav:#0d1f30;--line:#27445a;--text:#eef9ff;--muted:#96b6cb;--accent:#43cef6;--cyan:#5ddcff;--accentText:#67dcff;--header:#0c1b2a;--shadow:0 15px 45px rgba(0,0,0,.13);--field:#0e2032;--hover:#1a354c;--danger:#ff8796;--badge:#163e56}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;font:14px/1.55 Manrope,Arial,sans-serif;background:linear-gradient(140deg,var(--bg),var(--bg2));color:var(--text);transition:background .35s,color .3s}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.52}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hidden{display:none!important}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.topbar{position:sticky;z-index:30;top:0;background:var(--header);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);transition:background .35s}.topbar-inner{max-width:1500px;margin:0 auto;padding:0 30px;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:8px;font:800 24px Outfit,sans-serif;letter-spacing:-1.1px;white-space:nowrap}.brand img{width:52px;height:50px;object-fit:contain;filter:drop-shadow(0 3px 8px #1687c040)}.brand-rain{color:#5ddcff;text-shadow:0 1px 3px #0635527f}.brand-hub,.brand small{color:#fff;text-shadow:0 1px 2px #063552e0,0 0 7px #063552a0}.brand small{font-size:.7em}.brand-divider{height:25px;width:1px;background:var(--line);margin:0 8px 0 16px}.brand-panel{font:700 12px Manrope,sans-serif;letter-spacing:0;color:var(--muted)}.top-right{display:flex;align-items:center;gap:10px}.theme-toggle,.visit,.soft-button,.logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:11px;min-height:42px;padding:10px 14px;font-size:12px;font-weight:800;transition:background .25s,border-color .2s,transform .2s}.theme-toggle:hover,.visit:hover,.soft-button:hover,.logout-btn:hover{background:var(--hover);border-color:var(--accent);transform:translateY(-1px)}.theme-toggle svg{color:var(--accentText)}.visit svg{width:15px;height:15px;color:var(--accentText)}.user-area{display:flex;align-items:center;gap:10px}.avatar{height:37px;width:37px;border-radius:10px;object-fit:cover}.user-name{font-weight:800;font-size:12px;max-width:170px;overflow:hidden;text-overflow:ellipsis}.logout-btn svg{width:16px;height:16px}
.auth-box{max-width:510px;text-align:center;margin:clamp(40px,10vh,105px) auto 50px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:48px 40px;box-shadow:var(--shadow);animation:welcome .55s cubic-bezier(.2,.9,.2,1) both}.auth-logo{width:142px;height:116px;object-fit:contain}.auth-mini{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--accentText);margin-top:14px}.auth-box h1{font:800 clamp(25px,3vw,31px)/1.2 Outfit,sans-serif;letter-spacing:-1px;margin:11px 0 12px}.auth-box p{font-size:13px;color:var(--muted);line-height:1.8;margin:0 auto 15px;max-width:355px}.discord-login,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:10px;padding:12px 20px;min-height:45px;background:linear-gradient(105deg,#49cef7,#219deb);color:#062940;font-size:12px;font-weight:800;box-shadow:0 10px 26px rgba(30,153,227,.13);transition:transform .2s,filter .2s}.discord-login:hover,.primary-button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.08)}.discord-login{margin:11px auto}.discord-login svg{width:21px;height:21px}.auth-box .hint{font-size:11px;margin:18px 0 0}.denied-icon{width:52px;height:52px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;margin:0 auto 14px;color:var(--accentText);background:var(--badge)}.denied-icon svg{width:24px;height:24px}.loader{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:27px;height:27px;margin:0 auto 20px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.workspace{display:grid;grid-template-columns:247px minmax(0,1fr);max-width:1500px;min-height:calc(100vh - 82px);margin:auto;animation:dropIn .8s cubic-bezier(.17,.87,.22,1) both}@keyframes dropIn{from{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:none}}@keyframes welcome{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
.sidebar{display:flex;flex-direction:column;gap:4px;min-width:0;background:var(--nav);border-right:1px solid var(--line);padding:35px 14px 20px;transition:background .3s}.sidebar-title{font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--muted);padding:0 13px;margin:0 0 16px}.side-link{display:flex;gap:13px;align-items:center;width:100%;border:0;background:transparent;text-align:left;color:var(--muted);border-radius:9px;padding:13px 12px;font-size:12px;font-weight:800;transition:background .18s,color .18s,transform .18s}.side-link svg{width:19px;height:19px}.side-link:hover{background:var(--hover);color:var(--text);transform:translateX(2px)}.side-link.active{background:var(--badge);color:var(--accentText);box-shadow:inset 3px 0 var(--accent)}.side-footer{display:flex;align-items:center;gap:9px;margin-top:auto;padding:24px 13px 4px;border-top:1px solid var(--line)}.side-footer img{width:37px;height:37px;object-fit:contain}.side-footer b,.side-footer span{display:block}.side-footer b{font:800 13px Outfit,sans-serif}.side-footer span{font-size:10px;color:var(--muted)}
.content{min-width:0;padding:42px clamp(25px,4.3vw,66px) 75px}.content-head{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:90px;margin:0 0 27px}.eyebrow{font-size:10px;font-weight:800;color:var(--accentText);letter-spacing:1.5px}.content-head h1{font:800 clamp(27px,3vw,35px)/1.1 Outfit,sans-serif;letter-spacing:-1.1px;margin:9px 0 9px}.content-head p{color:var(--muted);font-size:12px;margin:0}.save-area{display:flex;align-items:center;gap:13px;flex-shrink:0}.dirty{font-size:11px;color:var(--danger);font-weight:800}.editor{min-height:200px}.panel-card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:25px;margin-bottom:17px;box-shadow:var(--shadow)}.panel-card h2{font:800 19px Outfit,sans-serif;margin:0 0 9px}.panel-card p{color:var(--muted);font-size:12px;line-height:1.85;margin:0 0 15px}.panel-card>p:last-child{margin-bottom:0}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.stats-grid .panel-card{margin:0;box-shadow:none}.stat-value{font:800 33px Outfit,sans-serif;color:var(--accentText);margin-top:8px}.stat-name{font-size:11px;color:var(--muted);font-weight:800}.field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0 0 18px}.field label{font-size:11px;font-weight:800;color:var(--text)}.field input,.field textarea,.field select,.search{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--text);padding:12px 13px;outline:none;font-size:12px;transition:border .2s,background .3s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus,.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.field textarea{min-height:100px;resize:vertical;line-height:1.7}.field input[type=color]{height:46px;padding:5px;cursor:pointer}.field input[type=checkbox]{accent-color:#1eb8ef}.field input[type=file]{padding:10px}.field-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field-note,.hint{font-size:11px;color:var(--muted);line-height:1.6}.editor-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.two-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.secondary-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--field);padding:10px 13px;font-size:11px;font-weight:800;transition:background .2s,border-color .2s}.secondary-btn:hover{border-color:var(--accent);background:var(--hover)}.danger-btn{color:var(--danger)}.danger-btn:hover{background:color-mix(in srgb,var(--danger) 9%,var(--field))}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.collection-panel{border:1px solid var(--line);border-radius:12px;padding:19px;margin-bottom:12px;background:var(--card);transition:border-color .2s}.collection-panel:hover{border-color:var(--accent)}.collection-panel details>summary{cursor:pointer;font-size:13px;font-weight:800;list-style:none}.collection-panel summary::-webkit-details-marker{display:none}.collection-fields{border-top:1px solid var(--line);margin:17px 0 0;padding:18px 0 0}.text-item{padding:18px;margin-bottom:12px;background:var(--card);border:1px solid var(--line);border-radius:11px}.text-item .field{margin:0}.label-key{font-size:10px;font-weight:700;color:var(--accentText);display:block;margin:0 0 8px;overflow-wrap:anywhere}.text-item textarea{min-height:70px}.badge{border-radius:7px;color:var(--accentText);background:var(--badge);font-size:10px;font-weight:800;padding:7px 10px}.owner-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:14px;font-size:12px;font-weight:700}.status{display:none;position:fixed;right:20px;bottom:20px;max-width:min(440px,calc(100vw - 40px));border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:11px;padding:15px 19px;z-index:60;font-size:12px;font-weight:700}.status.visible{display:block;animation:welcome .3s ease both}.status.error{border-color:var(--danger);color:var(--danger)}.status.success{border-color:var(--accent)}.connection-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.connection-row:last-child{border-bottom:0}.connection-label{display:flex;align-items:center;gap:8px;font-weight:700}.connection-label svg{color:var(--accentText)}.connection-description{font-size:11px;color:var(--muted);margin-top:4px}.connection-status{font-weight:800;color:var(--muted);font-size:11px}.connection-status.ok{color:#169f77}.connection-status.bad{color:var(--danger)}.quick-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.workspace .sidebar,.workspace .content-head{animation:dropIn .65s cubic-bezier(.2,.8,.2,1) both}.workspace .content-head{animation-delay:90ms}.workspace .panel-card,.workspace .text-item,.workspace .collection-panel{animation:itemDrop .57s cubic-bezier(.2,.85,.25,1) both}.workspace .panel-card:nth-child(2),.workspace .text-item:nth-child(2),.workspace .collection-panel:nth-child(2){animation-delay:65ms}.workspace .panel-card:nth-child(3),.workspace .text-item:nth-child(3),.workspace .collection-panel:nth-child(3){animation-delay:110ms}.workspace .panel-card:nth-child(4),.workspace .text-item:nth-child(4),.workspace .collection-panel:nth-child(4){animation-delay:150ms}@keyframes itemDrop{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}
@media(max-width:1150px){.topbar-inner{padding:0 18px}.brand-panel{display:none}.brand-divider{display:none}.workspace{grid-template-columns:210px minmax(0,1fr)}.content{padding:30px 24px}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{position:relative;flex-direction:row;overflow:auto;gap:3px;padding:12px 14px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-title,.side-footer{display:none}.side-link{white-space:nowrap;width:auto;padding:11px 12px}.content{padding:25px 17px 55px}.content-head{align-items:flex-start;flex-direction:column;gap:17px}.save-area{width:100%;justify-content:flex-start}.topbar-inner{min-height:72px}.top-right{gap:6px}.user-name{display:none}.visit{display:none}}
@media(max-width:560px){.topbar-inner{padding:0 11px}.brand{font-size:19px}.brand img{width:39px;height:39px}.top-right{gap:5px}.theme-toggle{min-height:37px;padding:8px}.logout-btn{padding:8px;min-height:37px}.logout-btn .logout-text{display:none}.auth-box{margin:28px 12px;padding:32px 20px}.panel-card{padding:19px}.field-inline,.stats-grid,.two-columns{grid-template-columns:1fr}.editor-toolbar{flex-direction:column;align-items:stretch}.owner-line{align-items:flex-start;flex-wrap:wrap}.connection-row{align-items:flex-start;flex-direction:column}.primary-button{min-height:43px}.save-area{flex-wrap:wrap}.content-head h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* RainHub Panel ADM V3 — cohesive administration design system */
:root {
  --bg:#dceaf3; --bg2:#c5e2ee; --card:#fff; --panel:#f8fcff;
  --nav:#f4faff; --line:#cce1ed; --text:#103653; --muted:#67879e;
  --accent:#19b7ed; --cyan:#5ddcff; --accentText:#087eaf;
  --header:#f7fbff; --shadow:0 17px 48px rgba(35,103,141,.075);
  --field:#f8fcff; --hover:#e9f6fd; --danger:#cf4c67; --badge:#e0f5fe;
  --focus:rgba(18,177,227,.14); --surface-2:#eef8fd; --scrollbar:#a4c9dd;
}
:root[data-theme="dark"] {
  --bg:#081521; --bg2:#102a40; --card:#10263a; --panel:#11273a;
  --nav:#0c1d2d; --line:#26445a; --text:#eaf9ff; --muted:#9bb9cf;
  --accent:#4bd4fc; --cyan:#5ddcff; --accentText:#64dbff;
  --header:#0c1b2a; --shadow:0 20px 55px rgba(1,8,18,.24);
  --field:#0c1e2e; --hover:#18384e; --danger:#ff8094; --badge:#163d53;
  --focus:rgba(74,209,247,.15); --surface-2:#152d43; --scrollbar:#31546b;
}
html {scrollbar-color:var(--scrollbar) transparent}
body {background-color:var(--bg);background-image:linear-gradient(132deg,transparent,rgba(20,156,212,.07));}
body:before {content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 95% -5%,rgba(51,183,229,.12),transparent 80%);z-index:-1;}
:root:not(.no-transitions) body,
:root:not(.no-transitions) .topbar,
:root:not(.no-transitions) .sidebar,
:root:not(.no-transitions) .panel-card,
:root:not(.no-transitions) .collection-panel,
:root:not(.no-transitions) .text-item,
:root:not(.no-transitions) .auth-box,
:root:not(.no-transitions) input,
:root:not(.no-transitions) textarea,
:root:not(.no-transitions) select,
:root:not(.no-transitions) .side-link,
:root:not(.no-transitions) .visit,
:root:not(.no-transitions) .user-trigger,
:root:not(.no-transitions) .theme-toggle,
:root:not(.no-transitions) .file-drop,
:root:not(.no-transitions) .file-picker,
:root:not(.no-transitions) .secondary-btn,
:root:not(.no-transitions) .confirm-dialog,
:root:not(.no-transitions) .account-menu {
  transition:background-color .52s cubic-bezier(.2,.8,.2,1),color .42s ease,border-color .52s ease,box-shadow .42s ease,transform .23s ease;
}
/* High quality header */
.topbar{box-shadow:0 5px 32px rgba(19,70,101,.035);}
.topbar-inner{max-width:none;min-height:82px;padding:0 clamp(22px,3vw,56px);gap:32px;}
.brand{font-size:25px;gap:8px;letter-spacing:-1.2px;}
.brand img{width:53px;height:53px;filter:drop-shadow(0 6px 11px rgba(21,156,209,.13));transition:transform .25s ease}
.brand:hover img{transform:translateY(-3px) rotate(-3deg)}
.brand-rain{color:var(--accentText);text-shadow:none}
:root[data-theme="dark"] .brand-rain{color:#5ddcff}
.brand-hub,.brand small{color:var(--text);text-shadow:none}
:root[data-theme="dark"] .brand-hub,:root[data-theme="dark"] .brand small{color:#fff}
.brand-divider{height:29px;margin:0 12px 0 17px;background:var(--line)}
.brand-panel{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.03em}
.top-right{margin-left:auto;gap:12px}
.theme-toggle,.visit,.user-trigger{height:44px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--text);box-shadow:0 3px 14px rgba(10,77,125,.025);font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:9px 15px;}
.theme-toggle:hover,.visit:hover,.user-trigger:hover{background:var(--hover);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 9px 25px rgba(11,139,198,.075)}
.theme-toggle{min-width:108px;}
.theme-symbol{width:20px;height:20px;display:inline-block;position:relative}
.theme-symbol svg{position:absolute;inset:0;width:20px;height:20px;color:var(--accentText);transition:opacity .48s ease,transform .58s cubic-bezier(.2,.85,.2,1);}
.theme-symbol .theme-sun{opacity:1;transform:rotate(0) scale(1)}
.theme-symbol .theme-moon{opacity:0;transform:rotate(-85deg) scale(.35)}
:root[data-theme="dark"] .theme-symbol .theme-sun{opacity:0;transform:rotate(110deg) scale(.3)}
:root[data-theme="dark"] .theme-symbol .theme-moon{opacity:1;transform:rotate(0) scale(1)}
.visit svg{width:16px;height:16px;transition:transform .25s ease}
.visit:hover svg{transform:translate(2px,-2px)}
.user-area{position:relative;gap:0;min-width:0}
.user-trigger{height:48px;padding:5px 10px 5px 6px;gap:10px;}
.user-trigger .avatar{height:35px;width:35px;border-radius:10px;}
.user-trigger .user-name{font-size:12px;max-width:170px;text-align:left}
.user-trigger .account-chevron{width:15px;height:15px;color:var(--muted);transition:transform .2s}
.user-trigger[aria-expanded="true"] .account-chevron{transform:rotate(180deg)}
.account-menu{position:absolute;right:0;top:calc(100% + 12px);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 56px rgba(2,31,52,.18);min-width:228px;padding:9px;z-index:70;animation:menu-enter .23s cubic-bezier(.2,.8,.2,1) both}
.account-name{padding:12px 13px;font-size:12px;font-weight:800;overflow-wrap:anywhere;border-bottom:1px solid var(--line);margin-bottom:5px}
.account-name small{display:block;margin-top:4px;font-size:10px;color:var(--muted);font-weight:650}
.account-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:var(--danger);font-size:12px;font-weight:800;text-align:left}
.account-menu button:hover{background:color-mix(in srgb,var(--danger) 9%,transparent)}
.account-menu button svg{width:17px;height:17px}
@keyframes menu-enter{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:none}}
/* Sidebar reaches the left edge of the viewport. */
.workspace{max-width:none;width:100%;grid-template-columns:clamp(235px,18vw,280px) minmax(0,1fr);margin:0;min-height:calc(100vh - 82px)}
.sidebar{position:sticky;top:82px;align-self:start;height:calc(100vh - 82px);overflow-y:auto;background:var(--nav);padding:32px 15px 20px;border-right:1px solid var(--line);gap:4px}
.sidebar-title{color:var(--muted);padding:0 15px;font-size:10px;letter-spacing:1.25px;margin:0 0 22px}
.side-link{font-size:12.5px;padding:14px 14px;border-radius:11px;gap:14px;font-weight:800;position:relative;}
.side-link svg{width:19px;height:19px;stroke-width:1.8;color:var(--accentText);transition:transform .25s ease,color .25s ease}
.side-link:hover{transform:translateX(3px);background:var(--hover);color:var(--text)}
.side-link:hover svg{transform:scale(1.09)}
.side-link.active{background:var(--badge);color:var(--text);box-shadow:inset 3px 0 var(--accent)}
.side-link.active svg{color:var(--accentText)}
.side-footer{padding:20px 13px 5px}
/* Main editor */
.content{padding:47px clamp(26px,4.2vw,78px) 90px;max-width:1650px;width:100%;margin:0 auto}
.content-head{min-height:109px;margin-bottom:30px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.25px}
.eyebrow-dot{height:4px;width:4px;background:var(--accent);border-radius:50%}
.content-head h1{font-size:clamp(29px,3vw,39px);letter-spacing:-1.6px;margin:9px 0 8px}
.content-head p{font-size:12.5px;line-height:1.7}
.save-area{gap:13px}.dirty{font-size:11px;background:color-mix(in srgb,var(--danger) 10%,transparent);padding:7px 11px;border-radius:8px}
.panel-card{padding:28px 30px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:17px}
.panel-card h2{font-size:19px;letter-spacing:-.45px;margin-bottom:10px}
.panel-card p{font-size:12.5px;line-height:1.75}
.stat-name{font-size:12px}.stat-value{font-size:36px;letter-spacing:-1px}
.stats-grid{gap:14px}.stats-grid .panel-card{background:var(--card);padding:24px}
.primary-button,.discord-login{border-radius:11px;min-height:45px;background:linear-gradient(107deg,#38c6f4,#239fe7);color:#063451;box-shadow:0 8px 23px rgba(18,170,227,.14)}
.primary-button:hover:not(:disabled),.discord-login:hover{box-shadow:0 11px 32px rgba(17,164,226,.25);transform:translateY(-2px)}
.primary-button svg{width:17px;height:17px}
.secondary-btn,.danger-btn,.soft-button{background:var(--surface-2);border-radius:10px;min-height:40px;font-size:11.5px;padding:9px 14px}
.secondary-btn:hover,.soft-button:hover{background:var(--hover)}
.secondary-btn svg,.danger-btn svg{width:16px;height:16px}
.field{gap:9px;margin-bottom:21px}
.field label,.field>.field-label{font-weight:800;font-size:11px;color:var(--text);letter-spacing:.01em}
.field input:not([type="file"]),.field textarea,.field select,.search{padding:13px 15px;border-radius:10px;font-size:12.5px;min-height:46px}
.field textarea{min-height:106px;line-height:1.7}
.field input[type="color"]{padding:5px;width:100%;min-height:48px}
.field-note{font-size:11px}
.field-inline{gap:19px}
.editor-toolbar{gap:13px}
.collection-panel{padding:0;border-radius:14px;overflow:hidden;border-color:var(--line);box-shadow:0 3px 15px rgba(20,80,110,.035)}
.collection-panel details{padding:19px 22px 0}
.collection-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;min-height:25px}
.collection-panel summary:after{content:"";height:7px;width:7px;border-bottom:1.8px solid var(--accentText);border-right:1.8px solid var(--accentText);transform:rotate(45deg);transition:transform .2s;margin-right:5px}
.collection-panel details[open] summary:after{transform:rotate(225deg)}
.collection-fields{margin-top:18px;padding-top:23px}
.collection-panel .row-actions{padding:13px 20px 16px;gap:8px}
.collection-panel:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.text-item{padding:19px 22px;border-radius:13px}
.label-key{letter-spacing:.015em}
.owner-line{border-radius:12px;padding:15px 17px}
/* Custom file uploader: genuine native picker remains accessible, but no native file button shown */
.file-drop{display:flex;align-items:center;gap:16px;width:100%;padding:16px;background:var(--field);border:1px dashed color-mix(in srgb,var(--accent) 48%,var(--line));border-radius:13px;min-height:89px;position:relative}
.file-drop.is-over,.file-drop:hover{border-color:var(--accent);background:var(--hover)}
.file-drop-icon{width:39px;height:39px;display:grid;place-items:center;color:var(--accentText);flex-shrink:0;background:var(--badge);border-radius:11px}
.file-drop-icon svg{width:21px;height:21px}
.file-copy{flex:1;min-width:0}.file-copy strong{display:block;font-size:12px;color:var(--text);font-weight:800;overflow-wrap:anywhere}.file-copy small{color:var(--muted);font-size:10px;display:block;margin-top:4px}
.file-picker{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:10px 13px;font-size:11px;font-weight:800;white-space:nowrap;flex:none}
.file-picker:hover{border-color:var(--accent);background:var(--badge)}.file-picker svg{width:15px;height:15px}
.file-preview{display:flex;align-items:center;gap:13px;margin-top:11px;padding:11px 13px;border:1px solid var(--line);background:var(--surface-2);border-radius:11px}
.file-preview img{width:46px;height:46px;object-fit:contain;border-radius:7px;background:var(--card)}
.file-preview-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}
.file-remove{background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--danger);width:32px;height:32px;display:grid;place-items:center}
.file-remove:hover{background:color-mix(in srgb,var(--danger) 8%,transparent)}.file-remove svg{height:16px;width:16px}
/* Custom toggle switches */
.toggle-field{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);padding:14px 17px;border-radius:11px;background:var(--field);cursor:pointer}
.toggle-field .toggle-text{font-weight:750;font-size:12px;color:var(--text)}
.toggle-field input{position:absolute;width:1px;height:1px;opacity:0}
.toggle-switch{width:42px;height:24px;border-radius:20px;background:var(--line);position:relative;flex:0 0 42px;transition:background .22s}
.toggle-switch:before{content:"";width:17px;height:17px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3.5px;box-shadow:0 1px 5px rgba(0,0,0,.12);transition:transform .22s}
.toggle-field input:checked+.toggle-switch{background:var(--accent)}
.toggle-field input:checked+.toggle-switch:before{transform:translateX(19px)}
.toggle-field input:focus-visible+.toggle-switch{outline:2px solid var(--accent);outline-offset:3px}
/* Toast with custom icon and exit animation */
.status{display:flex;align-items:flex-start;gap:13px;max-width:min(435px,calc(100vw - 30px));border-radius:14px;padding:15px 17px;right:22px;bottom:23px;opacity:0;visibility:hidden;transform:translateY(16px) scale(.985);pointer-events:none;transition:opacity .22s,transform .27s,visibility .22s;z-index:100}
.status.visible{visibility:visible;opacity:1;transform:none;pointer-events:auto;animation:none}
.status .toast-icon{width:32px;height:32px;border-radius:10px;background:var(--badge);color:var(--accentText);display:grid;place-items:center;flex-shrink:0}
.status .toast-icon svg{width:18px;height:18px}
.status.error .toast-icon{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--card))}
.toast-message{flex:1;font-size:12px;line-height:1.6;min-width:0;overflow-wrap:anywhere}
.status .toast-close{border:0;background:transparent;color:var(--muted);padding:3px;display:grid;place-items:center}
.status .toast-close svg{width:15px;height:15px}
/* Custom confirmation dialog */
.confirm-overlay{position:fixed;inset:0;z-index:110;background:rgba(5,18,32,.53);backdrop-filter:blur(5px);display:grid;place-items:center;padding:16px;animation:fade-in .24s ease both}
.confirm-dialog{max-width:432px;width:100%;padding:32px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 90px rgba(2,21,39,.26);animation:dialog-drop .32s cubic-bezier(.2,.8,.2,1) both}
.confirm-symbol{height:45px;width:45px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accentText);margin-bottom:17px}
.confirm-symbol svg{width:23px;height:23px}
.confirm-dialog h2{font:800 24px Outfit,sans-serif;letter-spacing:-.8px;margin:0 0 10px}
.confirm-dialog p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 23px}
.confirm-actions{display:flex;justify-content:flex-end;gap:10px}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes dialog-drop{from{opacity:0;transform:translateY(-18px) scale(.97)}to{opacity:1;transform:none}}
/* Decorative-free, pleasant depth and subtle animation */
.workspace .panel-card,.workspace .text-item,.workspace .collection-panel{animation-duration:.53s}
.auth-box{box-shadow:0 28px 80px rgba(12,93,140,.10)}
@media(max-width:1160px){.workspace{grid-template-columns:220px minmax(0,1fr)}.content{padding:34px 26px 65px}.topbar-inner{gap:18px}}
@media(max-width:850px){.workspace{display:block;min-height:calc(100vh - 72px)}.sidebar{position:relative;top:auto;height:auto;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:11px 15px;gap:7px;max-width:100%;white-space:nowrap;border-right:0;border-bottom:1px solid var(--line)}.side-link{min-width:max-content}.sidebar-title,.side-footer{display:none}.content{padding:28px 18px 60px}.topbar-inner{min-height:72px}.top-right{gap:8px}.brand-panel,.brand-divider{display:none}.user-trigger{max-width:165px}.user-trigger .user-name{max-width:90px}.visit{padding:10px 12px}}
@media(max-width:620px){.topbar-inner{padding:0 12px;gap:8px}.brand{font-size:19px}.brand img{width:38px;height:39px}.visit{display:none}.user-trigger .user-name{display:none}.user-trigger{padding:5px}.user-trigger .account-chevron{display:none}.theme-toggle{min-width:44px;width:44px;padding:6px}.theme-toggle .theme-name{display:none}.content-head{align-items:stretch}.save-area{justify-content:space-between;flex-wrap:wrap}.save-area .primary-button{width:100%}.panel-card{padding:20px}.field-inline,.stats-grid{grid-template-columns:1fr}.file-drop{flex-wrap:wrap}.file-copy{flex:1 1 calc(100% - 60px)}.file-picker{margin-left:54px}.confirm-dialog{padding:24px}.confirm-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Toast layout overrides earlier display:block state */
.status.visible{display:flex}
.avatar-fallback{height:35px;width:35px;display:grid;place-items:center;border-radius:10px;background:var(--badge);color:var(--accentText)}
.avatar-fallback svg{height:19px;width:19px}
