:root{color:#eef4ff;background:#101624;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(90,140,255,.42),transparent 34%),radial-gradient(circle at 85% 15%,rgba(198,91,255,.28),transparent 32%),radial-gradient(circle at 70% 82%,rgba(77,225,190,.22),transparent 30%),linear-gradient(135deg,#101624,#151f35 55%,#0d1320);z-index:-2}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.glass-card{background:#ffffff1f;border:1px solid rgba(255,255,255,.22);box-shadow:0 24px 70px #00000047;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:24px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:34px}.brand{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9fc5ff}.brand.small{margin-bottom:28px}h1{margin:12px 0 8px;font-size:32px}p{color:#eef4ffb8}label{display:grid;gap:8px;margin:18px 0;color:#eef4ffd1}input{color:#fff;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;outline:none;width:100%}button{border:0;border-radius:14px;padding:12px 16px;color:#fff;background:#ffffff24}.login-card button,.primary{width:100%;background:linear-gradient(135deg,#5d8cff,#8d5dff);font-weight:700}.primary.fit{width:auto}.secondary{background:#ffffff14}.error{color:#ffb4b4;margin-bottom:12px}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;gap:22px;padding:22px}.sidebar{padding:22px}.drive{display:block;width:100%;margin:10px 0;text-align:left}.drive.active{background:#5d8cff6b}.drive.experimental{opacity:.72}.content-panel{padding:24px;overflow:hidden}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.breadcrumb{color:#eef4ffad}.storage-summary{margin-top:10px;display:grid;gap:8px;max-width:360px;color:#eef4ffb8;font-size:13px}.storage-bar{height:8px;overflow:hidden;border-radius:999px;background:#ffffff1f}.storage-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#5d8cff,#4de1be)}.actions{display:flex;gap:10px}.actions .primary{width:auto}.file-table{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}.file-row{display:grid;grid-template-columns:1.5fr .6fr .9fr .6fr;gap:12px;padding:15px 18px;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.08)}.file-row.head{color:#eef4ff9e;background:#ffffff1a}.file-name{display:flex;align-items:center;gap:10px}.muted{color:#eef4ff94}@media(max-width:760px){.app-shell{grid-template-columns:1fr;padding:12px}.glass-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.toolbar{align-items:stretch;flex-direction:column}.file-row{grid-template-columns:1fr}}.sidebar-footer{display:grid;gap:10px;margin-top:28px}.drive small{display:block;margin-top:4px;color:#eef4ff85}.empty-state{padding:28px;color:#eef4ff9e;background:#ffffff0a}.error-state{color:#ffb4b4}.settings-grid{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:20px}.settings-form{display:grid;gap:12px}select,textarea{color:#fff;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;outline:none}select option{color:#111827}textarea{min-height:140px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.drive-list{display:grid;align-content:start;gap:12px}.drive-card{display:grid;gap:6px;padding:16px;border-radius:16px;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.drive-card span{color:#eef4ffa3}.drive-card button{justify-self:start;padding:8px 12px}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}.drive-card-actions{display:flex;gap:8px;flex-wrap:wrap}.hint{color:#eef4ff94;font-size:13px;line-height:1.5;margin-top:-6px}.inline-link{color:#9fc5ff;text-decoration:none;font-weight:700}.inline-link:hover{text-decoration:underline}.link-button{color:#9fc5ff;background:transparent;padding:0 0 0 10px;font-weight:700}.clickable{cursor:pointer}.clickable:hover{color:#9fc5ff}.crumb{background:transparent;padding:0;color:#9fc5ff}.upload-label{display:inline-block;cursor:pointer;border-radius:14px;padding:12px 16px;color:#fff;background:#ffffff24;margin:0}.section-title{margin:24px 0 12px;font-size:18px}.log-panel{max-height:360px;overflow:auto;padding:16px;border-radius:18px;background:#00000047;color:#dbeafe;white-space:pre-wrap;font-size:12px;line-height:1.55}.hint-card{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px;background:#ffffff14;color:#dce8ff}.hint-card ol{margin:8px 0 8px 20px;padding:0}.hint-card code{display:block;overflow:auto;padding:10px;border-radius:12px;background:#00000040}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.provider-card{text-align:left;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff}.provider-card b,.provider-card span{display:block}.provider-card span{margin-top:6px;color:#9fb0c9;font-size:12px}.provider-card.active{border-color:#7aa2ffcc;box-shadow:0 0 0 2px #7aa2ff2e}.provider-card.disabled{opacity:.72}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline-check{display:flex!important;align-items:center;gap:8px;flex-direction:row!important}.inline-check input{width:auto!important}@media(max-width:860px){.provider-grid,.two-cols{grid-template-columns:1fr}}.import-box{padding:14px;border-radius:18px;background:#7aa2ff14;border:1px dashed rgba(122,162,255,.35)}.import-box button{margin-top:8px}.hint-card code{display:inline-block;margin:4px 0}.qr-box{margin-top:14px;padding:12px;border-radius:18px;background:#ffffff14}.qr-box img{width:100%;max-height:420px;object-fit:contain;border-radius:14px;background:#fff}.qr-box small{display:block;margin-top:8px;color:#c7d2fe}.success{color:#9ef0c4;margin-bottom:12px}.ghost-button{width:100%;margin-top:10px;background:#ffffff14}.inline-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.inline-actions label{margin:0}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-user-row{grid-template-columns:1.2fr .45fr .45fr 1fr}.drive-card b small{color:#eef4ff94;font-weight:500}@media(max-width:980px){.admin-grid,.admin-user-row,.inline-actions{grid-template-columns:1fr}}.stats-grid .stat-card b{font-size:34px;color:#fff}.stats-grid .stat-card span{color:#eef4ffad}.admin-shell .toolbar .section-title{margin:0}.banner{padding:12px 14px;border-radius:14px;background:#ffffff14}.admin-form,.config-form{margin-bottom:16px}.config-form label,.admin-form label{margin:8px 0}.config-form .drive-card-actions{margin-top:6px}.drive-card-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.status-badge{display:inline-flex;width:fit-content;padding:5px 9px;border-radius:999px;font-size:12px;color:#e5edff;background:#ffffff24}.status-badge.ok{color:#a7f3d0;background:#10b98129}.status-badge.warn{color:#fde68a;background:#f59e0b29}.status-badge.off{color:#fecaca;background:#f8717129}.capability-list{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0}.capability-list small{padding:5px 8px;border-radius:999px;background:#9fc5ff1f;color:#eef4ffb8}.user-actions{display:grid;gap:8px}.inline-actions.compact{grid-template-columns:minmax(160px,1fr) auto;align-items:end}.inline-actions.compact input,.inline-actions.compact button{padding:9px 10px}.file-row small{display:block;margin-top:4px;color:#eef4ff85}.task-list{display:grid;gap:12px}.task-card details{margin-top:6px}.task-card summary{cursor:pointer;color:#9fc5ff}.task-card pre{overflow:auto;max-height:220px;padding:12px;border-radius:14px;background:#0000003d;color:#dbeafe;font-size:12px;line-height:1.45}.task-progress{height:9px;overflow:hidden;border-radius:999px;background:#ffffff1f}.task-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#5d8cff,#4de1be)}
