:root{--navy:#17243a;--blue:#3157d5;--blue2:#2446b8;--bg:#f4f6fa;--line:#e4e8f0;--text:#202a3a;--muted:#718096;--white:#fff;--green:#13845b;--red:#b83b48}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 26px;border-bottom:1px solid #344156}.brand b{display:block;font-size:17px;letter-spacing:.08em}.brand small{display:block;color:#aeb9ca;font-size:11px}.logo-slot{width:46px;height:42px;border:1px dashed #9ca9bd;border-radius:7px;display:grid;place-items:center;text-align:center;font-size:8px;line-height:1.1;color:#dce4f1;flex-shrink:0}.sidebar nav{display:grid;gap:5px;padding-top:22px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;color:#c6cfdd;text-decoration:none;border-radius:8px;font-size:13px}.sidebar nav a:hover{background:#293950;color:#fff}.sidebar nav span{width:18px;text-align:center;font-size:16px}.sidebar-bottom{margin-top:auto;border-top:1px solid #344156;padding:16px 8px 4px;display:grid;gap:4px}.sidebar-bottom small{color:#b9c3d1}.sidebar-bottom a{color:#fff;text-decoration:none;margin-top:10px}.main{margin-left:248px;min-height:100vh}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-weight:600}.muted{color:var(--muted);font-weight:400}.user-pill{font-size:12px;background:#f1f4f9;border-radius:20px;padding:7px 12px}.content{padding:30px 32px;max-width:1500px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px}.page-heading h1{font-size:25px;margin:0 0 4px;letter-spacing:-.03em}.page-heading p{margin:0;color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:20px;box-shadow:0 2px 8px rgba(20,35,60,.025)}.panel h3{font-size:15px;margin:0 0 18px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:19px}.stat span{display:block;color:var(--muted);font-size:12px}.stat b{display:block;font-size:27px;margin-top:9px;letter-spacing:-.04em}.small-status{font-size:14px!important;letter-spacing:0!important;text-transform:capitalize}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span-two{grid-column:span 2}label{display:block;font-size:12px;font-weight:600;margin:0 0 6px;color:#4a5568}input,select,textarea{width:100%;border:1px solid #d9dfeb;border-radius:7px;padding:10px 11px;font:inherit;color:var(--text);background:#fff;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #dce5ff;border-color:#7e9afa}textarea{resize:vertical}form .btn{margin-top:14px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5ddeb;border-radius:7px;padding:9px 14px;background:#fff;color:#26354b;text-decoration:none;font:600 12px inherit;cursor:pointer}.btn:hover{background:#f4f6fa}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:var(--blue2)}.btn.full{width:100%;margin-top:18px}.btn.tiny{padding:6px 9px;font-size:11px;margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;color:#748096;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;background:#f8f9fc}th,td{padding:12px 10px;border-bottom:1px solid #edf0f5;vertical-align:middle}td{font-size:12px}td a{color:var(--blue);text-decoration:none;font-weight:600}.tag{display:inline-block;border-radius:20px;background:#edf1f8;padding:4px 9px;font-size:10px;font-weight:700;text-transform:uppercase;color:#4a5870}.alert{border-radius:8px;padding:12px 14px;margin-bottom:18px;font-size:13px}.alert.success{background:#eaf7f1;color:#126b4c}.alert.error{background:#fff0f0;color:#a52d3b}.list-row{padding:10px 0;border-bottom:1px solid #edf0f5;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.list-row small{color:var(--muted)}.quick-link{display:block;padding:12px 0;border-bottom:1px solid #edf0f5;text-decoration:none;color:var(--blue);font-weight:600}.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.document-item{border:1px solid var(--line);border-radius:9px;padding:15px}.document-item b,.document-item small{display:block}.document-item small{font-size:11px;color:var(--muted);margin:5px 0 12px}.inline-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:3px 0}.inline-form input,.inline-form select{width:auto;max-width:150px;padding:6px;font-size:11px}.short-input{width:85px!important}.payment-form{display:grid;gap:5px;min-width:180px}.payment-form input{padding:6px;font-size:10px}.mono{font-family:ui-monospace,monospace;font-size:10px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 12px 40px rgba(20,35,60,.08)}.login-card h1{font-size:22px;margin:20px 0 4px}.login-card p{margin:0 0 20px}.login-card label{margin-top:13px}.logo-slot.large{width:76px;height:64px;border-color:#9ba8ba;color:#65738a;font-size:10px;margin:0 auto}.login-card .btn{margin-top:20px}.login-card small{display:block;text-align:center;margin-top:18px}.install-body{min-height:100vh;display:grid;place-items:center;padding:24px}.install-card{width:min(520px,100%)}.install-card hr{border:0;border-top:1px solid var(--line);margin:20px 0}.install-card form .btn{width:100%}@media(max-width:900px){.sidebar{width:70px;padding:14px 8px}.brand{justify-content:center;padding:4px 0 18px}.brand>div:last-child,.sidebar nav a:not(span),.sidebar-bottom small,.sidebar-bottom a{font-size:0}.sidebar nav a{justify-content:center;padding:12px 4px}.sidebar nav span{font-size:18px}.sidebar-bottom{padding:12px 0}.main{margin-left:70px}.content{padding:22px 16px}.topbar{padding:0 16px}.grid-two{grid-template-columns:1fr}}@media(max-width:560px){.form-grid,.document-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.page-heading{align-items:flex-start;gap:12px;flex-direction:column}.content{padding:16px 10px}.panel{padding:15px}.stats{grid-template-columns:1fr 1fr}.stat{padding:13px}.stat b{font-size:22px}}

/* EFE21 Drive and branding */
.brand-logo{width:48px;height:42px;object-fit:contain;flex-shrink:0}.login-brand-logo{display:block;max-width:180px;max-height:90px;object-fit:contain;margin:0 auto 10px}.settings-logo-preview{display:block;max-width:220px;max-height:100px;object-fit:contain;margin:10px 0 18px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.drive-actions{display:flex;gap:8px;flex-wrap:wrap}.drive-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}.drive-side{height:max-content}.drive-side a{color:var(--blue);font-weight:600;text-decoration:none}.drive-storage{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:16px}.drive-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.drive-folder{display:grid;gap:5px;text-decoration:none;color:var(--text);padding:15px;border:1px solid var(--line);border-radius:10px;background:#fbfcff}.drive-folder:hover{border-color:#9bb0f5;background:#f5f7ff}.drive-folder span{font-size:25px}.drive-folder small,.drive-file small{font-size:11px;color:var(--muted)}.drive-file-list{margin-top:20px}.drive-file{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #edf0f5}.drive-file>div{flex:1;min-width:0}.drive-file b,.drive-file small{display:block;overflow-wrap:anywhere}.drive-file-icon{font-size:21px}.drive-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.drive-breadcrumb{display:flex;align-items:center;gap:8px;margin:4px 0 14px;flex-wrap:wrap}.drive-breadcrumb a{color:var(--blue);text-decoration:none}.dropzone{display:block;border:2px dashed #bdc9df;border-radius:10px;padding:24px;text-align:center;background:#f8faff;cursor:pointer}.dropzone input{margin-top:12px}.dropzone.dragover{background:#edf2ff;border-color:var(--blue)}#driveNames{font-size:11px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}@media(max-width:900px){.drive-layout{grid-template-columns:1fr}.drive-bottom-grid{grid-template-columns:1fr}}@media(max-width:560px){.drive-file{flex-wrap:wrap}.drive-file>div{flex-basis:60%}}
/* EFE21 Drive refresh */
.drive-shell{background:#f7f9fc;border:1px solid #e5eaf2;border-radius:18px;padding:18px;min-height:65vh}.drive-topbar{display:flex;align-items:center;gap:18px;margin-bottom:20px}.drive-brand{display:flex;align-items:center;gap:10px;min-width:205px}.drive-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e9efff;color:#315bd6;font-size:25px}.drive-brand strong,.drive-brand small{display:block}.drive-brand strong{font-size:16px}.drive-brand small{font-size:11px;color:var(--muted)}.drive-search{display:flex;align-items:center;gap:9px;background:#edf1f7;border-radius:24px;padding:0 15px;max-width:560px;flex:1}.drive-search span{font-size:23px;color:#64748b}.drive-search input{border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:12px 0!important}.drive-topbar .drive-actions{margin-left:auto}.drive-shell .drive-layout{grid-template-columns:190px minmax(0,1fr);gap:20px}.drive-side{padding:12px;display:flex;flex-direction:column;gap:5px}.drive-side>a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;color:#475569;text-decoration:none;font-weight:600}.drive-side>a span{font-size:18px}.drive-side>a:hover,.drive-side>a.drive-nav-active{background:#edf2ff;color:#315bd6}.drive-side-note{margin-top:20px;padding:13px;border-top:1px solid var(--line)}.drive-side-note b{font-size:12px}.drive-side-note p{font-size:11px;color:var(--muted);line-height:1.5;margin:5px 0}.drive-main{min-width:0}.drive-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin:4px 0 18px}.drive-heading h1{margin:5px 0;font-size:25px}.drive-heading p{margin:0;color:var(--muted);font-size:13px}.drive-crumb{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.drive-crumb a{color:#315bd6;text-decoration:none}.drive-visibility{display:flex;gap:6px;align-items:center}.drive-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-bottom:1px solid #e4e9f1;color:var(--muted);font-size:12px}.drive-view-switch{display:flex;gap:4px}.drive-view-switch button{border:1px solid #dce3ed;background:#fff;border-radius:7px;padding:5px 10px;color:#64748b;cursor:pointer}.drive-view-switch button.active{background:#eaf0ff;color:#315bd6;border-color:#c9d5ff}.drive-section{margin-top:18px}.drive-section h2,.drive-create h2,.drive-upload-panel h2{font-size:14px;margin:0 0 12px}.drive-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}.drive-folder{display:flex;align-items:center;gap:11px;position:relative;padding:12px;border:1px solid #e0e6ef;border-radius:11px;background:#fff;min-width:0}.drive-folder:hover{background:#f2f6ff;border-color:#bdccf8}.folder-glyph{font-size:25px}.drive-folder-info{display:block;min-width:0;flex:1}.drive-folder-info b,.drive-folder-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-folder-info b{font-size:12px}.drive-folder-info small{font-size:10px;color:var(--muted);margin-top:3px}.drive-more{color:#94a3b8;font-size:12px}.drive-file-list{background:#fff;border:1px solid #e4e9f1;border-radius:11px;overflow:hidden}.drive-file{display:flex;align-items:center;gap:12px;padding:11px 13px;border-top:1px solid #edf0f5}.drive-file:first-child{border-top:0}.drive-file-icon{font-size:22px}.drive-file-meta{flex:1;min-width:0}.drive-file-meta b,.drive-file-meta small{display:block;overflow-wrap:anywhere}.drive-file-meta b{font-size:12px}.drive-file-meta small{font-size:10px;color:var(--muted);margin-top:3px}.drive-file-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.drive-file-actions form{margin:0}.drive-file-actions .danger{color:#b42318}.drive-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.drive-create,.drive-upload-panel{padding:16px}.drive-create form,.drive-upload-panel form{display:grid;gap:8px}.drive-create label{font-size:11px;color:var(--muted)}.drive-create input,.drive-create select,.drive-visibility select{margin:0}.dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px;border:1px dashed #aebddd;border-radius:12px;background:#f8faff;text-align:center;cursor:pointer}.dropzone .upload-cloud{font-size:27px;color:#315bd6}.dropzone b{font-size:12px}.dropzone small{font-size:10px;color:var(--muted)}.dropzone input{max-width:100%;font-size:11px}.dropzone.dragover{background:#eaf0ff;border-color:#315bd6}.drive-empty{text-align:center;padding:38px 15px;color:var(--muted)}.drive-empty>div{font-size:38px}.drive-empty h2{color:var(--text);font-size:16px;margin:8px}.drive-empty p{font-size:12px}.drive-empty.compact{padding:22px}.drive-empty.compact>div{font-size:27px}.drive-folder-grid.list-mode{grid-template-columns:1fr}.drive-file-list.list-mode .drive-file{background:#fbfcff}.drive-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:24px}.drive-modal.open{display:flex}.drive-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68)}.drive-modal-window{position:relative;display:flex;flex-direction:column;width:min(1100px,96vw);height:min(850px,92vh);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 24px 80px #0005}.drive-modal-window>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;border-bottom:1px solid #e5e7eb}.drive-modal-window>header b,.drive-modal-window>header small{display:block}.drive-modal-window>header small{font-size:11px;color:var(--muted);margin-top:3px}.drive-modal-window>header>div:last-child{display:flex;gap:7px}.drive-modal-content{flex:1;min-height:0;overflow:auto;background:#f1f3f6;display:flex;align-items:center;justify-content:center;padding:16px}.drive-preview-image{max-width:100%;max-height:100%;object-fit:contain}.drive-preview-video{max-width:100%;max-height:100%;width:100%;background:#111}.drive-preview-frame{width:100%;height:100%;border:0;background:#fff}.drive-word-preview{background:#fff;width:min(850px,100%);min-height:100%;padding:55px 65px;box-shadow:0 2px 12px #0001;line-height:1.55;color:#222;overflow-wrap:anywhere}.drive-word-preview img{max-width:100%;height:auto}.drive-word-preview table{border-collapse:collapse;max-width:100%}.drive-word-preview td,.drive-word-preview th{border:1px solid #bbb;padding:5px}.drive-modal-open{overflow:hidden}.drive-file[hidden],.drive-folder[hidden]{display:none!important}
@media(max-width:900px){.drive-topbar{flex-wrap:wrap}.drive-search{order:3;max-width:none;flex-basis:100%}.drive-shell .drive-layout{grid-template-columns:1fr}.drive-side{flex-direction:row;flex-wrap:wrap}.drive-side-note{display:none}.drive-bottom-grid{grid-template-columns:1fr}}
@media(max-width:600px){.drive-shell{padding:10px;border-radius:12px}.drive-brand{min-width:0}.drive-topbar .drive-actions{margin-left:0}.drive-heading{align-items:flex-start;flex-direction:column}.drive-folder-grid{grid-template-columns:1fr 1fr}.drive-folder{padding:9px}.drive-file{flex-wrap:wrap}.drive-file-meta{min-width:calc(100% - 48px)}.drive-file-actions{margin-left:34px}.drive-modal{padding:8px}.drive-modal-window{width:100%;height:94vh}.drive-word-preview{padding:22px 18px}}

/* EFE21 Drive V3: archivos en tarjetas grandes con miniaturas */
.drive-file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:14px;background:transparent;border:0;overflow:visible}
.drive-file{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;min-height:250px;padding:12px;border:1px solid #e1e7f0;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(20,35,65,.045);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.drive-file:hover{transform:translateY(-2px);border-color:#bdccf8;box-shadow:0 8px 22px rgba(20,35,65,.09)}
.drive-file-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:158px;min-height:158px;overflow:hidden;border:0;border-radius:9px;background:#f0f3f8;cursor:pointer;padding:0}
.drive-file-thumb.has-image{background:#eef1f5}
.drive-file-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.drive-file-thumb:hover img{transform:scale(1.035)}
.drive-file-thumb>span{font-size:58px;line-height:1}
.drive-file-meta{min-width:0;flex:1}
.drive-file-meta b{font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.drive-file-meta small{font-size:10px;color:var(--muted);margin-top:5px}
.drive-file-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:auto}
.drive-file-actions .btn{font-size:11px;padding:6px 9px}
.drive-file-list.list-mode{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #e4e9f1;border-radius:11px;overflow:hidden}
.drive-file-list.list-mode .drive-file{display:flex;flex-direction:row;align-items:center;min-height:0;border:0;border-top:1px solid #edf0f5;border-radius:0;box-shadow:none;padding:10px 13px}
.drive-file-list.list-mode .drive-file:first-child{border-top:0}
.drive-file-list.list-mode .drive-file-thumb{width:48px;height:48px;min-height:48px;flex:0 0 48px;border-radius:7px}
.drive-file-list.list-mode .drive-file-thumb>span{font-size:24px}
.drive-file-list.list-mode .drive-file-thumb img{object-fit:cover}
.drive-file-list.list-mode .drive-file-meta{flex:1}
.drive-file-list.list-mode .drive-file-actions{margin-top:0}
@media(max-width:650px){.drive-file-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.drive-file{padding:8px;min-height:220px}.drive-file-thumb{height:120px;min-height:120px}.drive-file-actions{gap:4px}.drive-file-actions .btn{font-size:10px;padding:5px 7px}}
@media(max-width:390px){.drive-file-list{grid-template-columns:1fr 1fr}.drive-file-thumb{height:105px;min-height:105px}}
