@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-primary:#d48f0d;--color-primary-dark:#b8780a;--color-primary-light:#fff9ec;--color-primary-hover:#f5a623;--color-bg:#f8fafd;--color-surface:#fff;--color-surface-2:#f1f3f6;--color-surface-hover:#eef2f8;--color-border:#dfe3ec;--color-border-light:#edf0f5;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-text-tertiary:#8f9bad;--color-text-inverse:#fff;--color-success:#10b981;--color-success-bg:#d1fae5;--color-warning:#fbbc04;--color-warning-bg:#fef7e0;--color-error:#e2001a;--color-error-bg:#fce8e6;--shadow-xs:0 1px 2px #1a1d230f;--shadow-sm:0 1px 4px #1a1d2314, 0 0 1px #1a1d230a;--shadow-md:0 4px 12px #1a1d231a, 0 0 1px #1a1d230f;--shadow-lg:0 8px 24px #1a1d231f, 0 0 1px #1a1d2314;--shadow-xl:0 16px 40px #1a1d2324, 0 0 1px #1a1d231a;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:28px;--transition-fast:.1s ease;--transition-normal:.2s ease;--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--sidebar-width-open:240px;--sidebar-width-closed:68px;--topbar-height:60px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg);line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-text-primary);font-weight:600;line-height:1.3}.dms-app{background:var(--color-bg);min-height:100vh;display:flex}.dms-main-content{min-width:0;transition:margin-inline-start var(--transition-slow);flex-direction:column;flex:1;margin-block-start:var(--topbar-height);display:flex}.dms-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal), transform var(--transition-normal)}.dms-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.file-grid{gap:var(--space-4);padding:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.file-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-xs);transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.file-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);background:var(--color-primary-light);transform:translateY(-2px)}.file-card.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.file-card__icon{justify-content:center;align-items:center;width:48px;height:48px;font-size:36px;display:flex}.file-card__name{font-size:var(--font-size-sm);text-align:center;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;width:100%;font-weight:500;overflow:hidden}.file-card__meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-8);text-align:center;cursor:pointer;transition:all var(--transition-normal);background:var(--color-surface)}.upload-zone:hover,.upload-zone.active{border-color:var(--color-primary);background:var(--color-primary-light);border-style:solid}.upload-zone__icon{color:var(--color-primary);margin-block-end:var(--space-4);font-size:48px}.upload-zone__title{font-size:var(--font-size-lg);color:var(--color-text-primary);margin-block-end:var(--space-2);font-weight:600}.upload-zone__sub{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-page{min-height:100vh;padding:var(--space-6);background:linear-gradient(135deg,#e8f0fe 0%,#f8fafd 50%,#edf2fb 100%);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-10) var(--space-8);border:1px solid var(--color-border-light);width:100%;max-width:440px}.auth-logo{align-items:center;gap:var(--space-3);flex-direction:column;margin-block-end:var(--space-8);display:flex}.auth-logo__icon{background:var(--color-primary);border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex;box-shadow:0 4px 12px #1a73e859}.auth-logo__title{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:700}.auth-logo__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-divider{align-items:center;gap:var(--space-3);margin-block:var(--space-4);color:var(--color-text-tertiary);font-size:var(--font-size-sm);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-footer{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-block-start:var(--space-6)}.auth-footer a{color:var(--color-primary);transition:color var(--transition-fast);font-weight:500;text-decoration:none}.auth-footer a:hover{color:var(--color-primary-dark)}.topbar{height:var(--topbar-height);background:var(--color-surface);border-block-end:1px solid var(--color-border-light);padding-inline:var(--space-4);align-items:center;gap:var(--space-4);z-index:1200;box-shadow:var(--shadow-xs);display:flex;position:fixed;inset-block-start:0;inset-inline:0}.topbar__brand{align-items:center;gap:var(--space-2);color:var(--color-text-primary);text-decoration:none;display:flex}.topbar__brand-icon{background:var(--color-primary);border-radius:var(--radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex}.topbar__brand-name{font-size:var(--font-size-md);letter-spacing:-.3px;font-weight:700}.topbar__search{flex:1;max-width:500px;margin-inline:auto}.topbar__actions{align-items:center;gap:var(--space-2);margin-inline-start:auto;display:flex}.sidebar{width:var(--sidebar-width-open);background:var(--color-surface);border-inline-end:1px solid var(--color-border-light);transition:width var(--transition-slow);z-index:1100;box-shadow:var(--shadow-xs);flex-direction:column;display:flex;position:fixed;inset-block-start:var(--topbar-height);inset-block-end:0;inset-inline-start:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-width-closed)}.sidebar__nav{padding:var(--space-2);flex:1;overflow:hidden auto}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;margin-block-end:2px;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.nav-item:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.nav-item.active{background:var(--color-primary-light);color:var(--color-primary)}.nav-item.active .nav-item__icon{color:var(--color-primary)}.nav-item__icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:20px;display:flex}.nav-item__label{text-overflow:ellipsis;transition:opacity var(--transition-normal);flex:1;overflow:hidden}.sidebar.collapsed .nav-item__label{opacity:0;pointer-events:none}.sidebar__footer{padding:var(--space-3) var(--space-2);border-block-start:1px solid var(--color-border-light)}.page-content{padding:var(--space-6);height:calc(100vh - var(--topbar-height));transition:padding-inline-start var(--transition-slow);overflow-y:auto}.breadcrumb{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.breadcrumb__item{align-items:center;gap:var(--space-1);cursor:pointer;padding:2px var(--space-1);border-radius:var(--radius-xs);transition:all var(--transition-fast);display:flex}.breadcrumb__item:hover{color:var(--color-primary);background:var(--color-primary-light)}.breadcrumb__item.active{color:var(--color-text-primary);cursor:default;font-weight:500}.breadcrumb__item.active:hover{background:0 0}.explorer-toolbar{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.explorer-toolbar__spacer{flex:1}.icon-btn{border-radius:var(--radius-sm);cursor:pointer;width:34px;height:34px;color:var(--color-text-secondary);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;display:flex}.icon-btn:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.icon-btn.active{background:var(--color-primary-light);color:var(--color-primary)}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);align-items:center;padding:2px 8px;font-weight:600;line-height:1.4;display:inline-flex}.badge--primary{background:var(--color-primary-light);color:var(--color-primary)}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--warning{background:var(--color-warning-bg);color:#9a6700}.badge--error{background:var(--color-error-bg);color:var(--color-error)}.badge--neutral{background:var(--color-surface-2);color:var(--color-text-secondary)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:.25s forwards fadeIn}.animate-slide-in{animation:.25s forwards slideInFromLeft}.MuiButton-root{font-family:var(--font-sans)!important;text-transform:none!important;border-radius:var(--radius-sm)!important;letter-spacing:0!important;font-weight:500!important}.MuiTextField-root .MuiOutlinedInput-root{border-radius:var(--radius-sm)!important}.MuiPaper-root{border-radius:var(--radius-md)!important}.MuiDialog-paper{border-radius:var(--radius-lg)!important}.MuiChip-root{border-radius:var(--radius-sm)!important;font-family:var(--font-sans)!important}input:-webkit-autofill{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}input:-webkit-autofill:hover{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}input:-webkit-autofill:focus{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}input:-webkit-autofill:active{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}textarea:-webkit-autofill{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}textarea:-webkit-autofill:hover{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}textarea:-webkit-autofill:focus{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}textarea:-webkit-autofill:active{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}select:-webkit-autofill{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}select:-webkit-autofill:hover{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}select:-webkit-autofill:focus{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}select:-webkit-autofill:active{caret-color:var(--color-text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--color-surface) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}
