:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#073050;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,.entry:focus-visible{outline:3px solid #57c2b1;outline-offset:2px}[hidden]{display:none!important}.shell{display:flex;min-height:100vh;margin:28px;border:1px solid #d8e1e8;border-radius:21px;overflow:hidden;background:#f5f8fa}.workspace{padding:20px;flex:1;min-width:0;background:#f5f8fa}.sidebar{width:33%;min-width:276px;max-width:420px;background:#073050;color:#f9ffff;display:flex;flex-direction:column;padding:22px 20px 26px}.sidebar-brand{border-bottom:1px solid #31536a;padding:0 3px 25px;text-align:right}.brand-row{display:flex;align-items:center;gap:14px;justify-content:flex-end;font-size:24px}.cloud-icon{background:#57c2b1;border-radius:10px;color:#073050;width:54px;height:54px;display:grid;place-items:center;font-size:30px}.sidebar-brand p{color:#9fb7c6;font-size:13px;letter-spacing:.6px;margin:8px 0 0}.side-nav{margin-top:26px}.side-entry{border:0;color:#e7f3f8;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:14px;width:100%;background:transparent;border-radius:11px;min-height:50px;padding:12px 14px;margin:5px 0;font-size:16px}.side-entry.active,.side-entry:hover{background:#184b68;color:white}.side-icon{color:#57c2b1;font-size:22px;min-width:20px}.logout-button{background:transparent;color:#a7c1cf;border:0;border-top:1px solid #31536a;margin-top:auto;padding:26px 0 0;text-align:right}.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;min-height:86px}.heading{text-align:right}.heading h1{font-size:26px;margin:3px 0 8px}.heading p{font-size:15px;color:#738ca1;margin:0}.upload-button{background:#57c2b1;color:#073050;width:54px;height:54px;border:0;border-radius:11px;display:grid;place-items:center}.upload-button svg{width:28px;height:28px;stroke-linecap:round;stroke-linejoin:round}.upload-button:hover{background:#41b4a3}.actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 16px}.actions>button{border:1px solid #cfe1e6;border-radius:9px;background:white;color:#073050;padding:10px 14px}.search-box{display:flex;justify-content:flex-end;align-items:center;gap:8px;color:#7892a4}.search-box input{background:transparent;border:0;border-bottom:1px solid transparent;text-align:right;padding:7px 0;width:180px;outline:0;color:#073050}.search-box input:focus{border-color:#57c2b1}.search-box span{font-size:25px}.breadcrumbs{min-height:30px;display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:13px;color:#7892a4}.breadcrumbs button{border:0;background:transparent;color:#52718b;padding:2px}.folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.entry{position:relative;min-width:0;min-height:126px;border:1px solid #dce6eb;border-radius:13px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:20px 45px 18px;transition:box-shadow .15s,transform .15s,border-color .15s;color:#073050}.entry:hover{border-color:#57c2b1;box-shadow:0 10px 26px #07305012;transform:translateY(-2px)}.entry .name{font-size:16px;font-weight:600;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry svg{width:46px;height:46px;fill:none;stroke:#57c2b1;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.file-icon{font-size:38px;color:#57c2b1}.entry .menu{position:absolute;top:9px;right:10px;border:0;background:transparent;color:#7892a4;font-size:22px;line-height:1;width:27px;height:27px;border-radius:6px}.entry .menu:hover{background:#ecf7f5}.hint{color:#7892a4;text-align:center;margin:45px 0}.login-overlay{position:fixed;inset:0;background:#f2f7fa;display:grid;place-items:center;z-index:10;padding:16px}.login-card{width:min(100%,390px);border:1px solid #dce6eb;border-radius:20px;background:white;box-shadow:0 22px 64px #0a34501a;padding:36px;display:flex;flex-direction:column;gap:12px}.brand-icon{background:#57c2b1;color:#073050;font-size:30px;width:58px;height:58px;border-radius:14px;display:grid;place-items:center}.login-card h1{margin:8px 0 0;font-size:30px}.login-card p{margin:0 0 22px;color:#7390a2;letter-spacing:2px}.login-card label{font-size:13px}.login-card input{border:1px solid #cbdae4;border-radius:8px;padding:12px}.login-card button{border:0;background:#073050;color:white;border-radius:9px;padding:13px}.login-card small{color:#ba3b3b;min-height:18px}.modal{position:fixed;inset:0;background:#001b2ab3;display:grid;place-items:center;padding:20px;z-index:20}.modal-panel{max-width:850px;width:100%;max-height:90vh;overflow:auto;background:#fff;border-radius:15px;padding:20px}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.modal-heading button{border:0;background:transparent;font-size:30px}.modal-panel img,.modal-panel video,.modal-panel iframe{max-width:100%;width:100%;max-height:70vh;object-fit:contain;border:0}.modal-panel textarea{width:100%;min-height:260px;resize:vertical;padding:12px;border:1px solid #ccdce4;border-radius:8px}#toast{position:fixed;bottom:18px;left:18px;background:#073050;color:white;border-radius:9px;padding:12px 18px;display:none;z-index:40}#toast.show{display:block}@media(max-width:780px){.shell{margin:0;border:0;border-radius:0;flex-direction:column-reverse}.sidebar{width:100%;max-width:none;min-width:0;padding:15px}.sidebar-brand{padding-bottom:8px}.sidebar-brand p{display:none}.side-nav{margin-top:5px}.side-nav #sideFolders{display:none}.side-entry{margin:0}.logout-button{padding:10px 0 0}.workspace{padding:20px 14px}.folder-grid{gap:10px}.entry{min-height:124px;padding:12px 20px}.entry .name{font-size:13px}.heading h1{font-size:22px}}


/* HiraTech Cloud login v2 — only login surface. Other file-manager rules unchanged */
.login-overlay{background:radial-gradient(ellipse 60% 70% at 95% 100%,#234e6e 0%,transparent 72%),radial-gradient(ellipse 45% 70% at 0% 7%,#173f49 0%,transparent 75%),linear-gradient(130deg,#0a2839 0%,#082439 53%,#0a2b43 100%);padding:24px;min-height:100dvh}
.login-card{width:min(100%,426px);gap:0;padding:32px 37px 30px;background:linear-gradient(155deg,#fff 0%,#f7fbfc 100%);border:1px solid #e3ebee;border-radius:24px;box-shadow:0 0 0 8px rgba(255,255,255,.035),0 24px 70px #00142260;align-items:stretch;text-align:center}
.login-logo{width:230px;height:168px;object-fit:contain;display:block;align-self:center;margin:2px auto 2px;mix-blend-mode:multiply}
.login-card h1{font-size:16px;font-weight:800;letter-spacing:-.3px;margin:8px 0 29px;color:#143a50}
.login-card input{height:53px;padding:0 15px;border-radius:12px;border:1px solid #deeaed;box-shadow:0 3px 9px #173b5310;background:#fff;color:#163b4d;text-align:left;outline:0}
.login-card input::placeholder{color:#8b9ea8;opacity:1}
.login-card input:focus{border-color:#57c2b1;box-shadow:0 0 0 3px #57c2b12b}
.login-card button{min-height:50px;margin-top:15px;border:0;border-radius:11px;background:linear-gradient(100deg,#27968e,#34af9f);color:#fff;font-size:16px;font-weight:700;box-shadow:0 10px 19px #2ca89b22}
.login-card button:hover{background:linear-gradient(100deg,#218a83,#2eaa9c)}
.login-card small{font-size:13px;line-height:1.4;min-height:0;margin-top:8px}
.login-card small:empty{display:none}
.login-footer{border-top:1px solid #e8eef1;margin-top:28px;padding-top:23px;color:#9aadb8;font-size:10px;letter-spacing:4px;font-weight:700}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:480px){.login-card{padding:25px 22px 24px}.login-logo{width:205px;height:155px}.login-card h1{margin-bottom:24px}}

/* HiraTech Cloud v2 – Modern Premium: file-manager only */
body:has(#shell:not([hidden])){background:#ecf2f6}
.shell{margin:22px;min-height:calc(100vh - 44px);border-radius:24px;border:1px solid #dce9ed;box-shadow:0 28px 70px #07305016;position:relative}
.workspace{position:relative;padding:32px 36px 44px;background:linear-gradient(160deg,#f8fbfd 0%,#f0f6f8 65%,#ecf3f7 100%);isolation:isolate}
.workspace-glow{position:absolute;pointer-events:none;z-index:-1;top:-160px;left:-160px;width:550px;height:480px;background:radial-gradient(circle,#57c2b11a,transparent 70%)}
.sidebar{width:305px;min-width:305px;max-width:305px;padding:32px 19px 23px;background:linear-gradient(170deg,#073050 0%,#082c47 54%,#05263d 100%);box-shadow:-12px 0 40px #031b2b0e}
.sidebar-brand{text-align:left;border-bottom:1px solid #ffffff20;padding:0 10px 28px}
.brand-row{justify-content:flex-start;font-size:24px;gap:14px}
.cloud-icon{border-radius:16px;background:linear-gradient(135deg,#6be0c9,#42baa9);box-shadow:0 9px 22px #38b2aa35;font-size:28px;width:57px;height:57px}
.brand-text{display:flex;flex-direction:column;gap:6px}.brand-text strong{letter-spacing:-.5px}.brand-text small{font-size:10px;letter-spacing:2.5px;color:#9fbacb;font-weight:700}
.sidebar-section-label{font-size:10px;letter-spacing:2.6px;color:#789caf;font-weight:800;margin:29px 15px 8px}
.side-nav{margin-top:0}.side-entry{min-height:49px;transition:background .18s,transform .18s;gap:12px;margin:6px 0;color:#cbdde7;font-size:14px}
.side-entry:hover{transform:translateX(-2px);background:#ffffff12}.side-entry.active{background:linear-gradient(95deg,#276d79aa,#25597988);box-shadow:inset 3px 0 #57c2b1;color:#fff}
.side-icon{color:#61d5c4}
.sidebar-foot{margin-top:auto;padding:19px 14px;border:1px solid #ffffff1c;border-radius:13px;background:#ffffff09}
.sidebar-foot-title{color:#eaf8fa;font-size:13px;font-weight:700}.sidebar-foot-sub{color:#8fb4c4;font-size:12px;margin-top:5px}
.logout-button{margin-top:17px;padding:16px 14px 0;border-top:1px solid #ffffff20}
.topline{align-items:center;min-height:97px}.heading h1{font-size:32px;letter-spacing:-1px;margin:7px 0 4px}.heading p{color:#829aaa;font-size:13px}.eyebrow,.content-kicker{color:#289d96;font-size:10px;font-weight:800;letter-spacing:2px}.heading-spark{color:#56beaf;font-size:17px;vertical-align:top}
.upload-button{width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,#63d3be,#37b1a5);box-shadow:0 12px 24px #269b9160;transition:transform .2s,box-shadow .2s}.upload-button:hover{transform:translateY(-3px);box-shadow:0 16px 28px #269b9160}
.actions{margin:22px 0 20px}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.quick-actions button{min-height:43px;border-radius:11px;border:1px solid #dce8ee;background:#fff;padding:10px 16px;font-size:13px;font-weight:650;box-shadow:0 4px 14px #07305007}.quick-actions button:hover{border-color:#57c2b1;background:#f5fdfa}
.search-box{border:1px solid #e0ebef;background:#fff;min-width:240px;padding:0 14px;border-radius:12px;box-shadow:0 4px 16px #07305008}.search-box input{border:0!important;width:200px;height:43px;text-align:left}.search-box:focus-within{border-color:#57c2b1;box-shadow:0 0 0 3px #57c2b124}
.breadcrumbs{margin:10px 0;color:#6b8595}
.content-heading{margin:21px 0 16px;display:flex;justify-content:space-between;align-items:end;gap:15px}.content-heading h2{font-size:21px;margin:5px 0 0;letter-spacing:-.6px}.item-count{background:#e7f5f3;border:1px solid #cfece7;border-radius:30px;padding:7px 11px;color:#267e79;font-size:12px;font-weight:750}
.folder-grid{gap:18px;margin:0}.entry{min-height:175px;border-radius:18px;gap:16px;border:1px solid #dfebef;background:linear-gradient(170deg,#fff,#fcfefe);box-shadow:0 7px 25px #103b4d09;transition:transform .2s,box-shadow .2s,border-color .2s}.entry:hover{transform:translateY(-5px);box-shadow:0 20px 35px #07305015;border-color:#83d7ca}
.entry svg{width:53px;height:53px;stroke:#4abfad;filter:drop-shadow(0 5px 6px #4abfad24)}.entry .name{font-size:15px}.entry .menu{top:13px;right:13px;width:30px;height:30px;color:#8aa5b2}.entry .menu:hover{color:#073050}
#toast{border:1px solid #3a7c87;box-shadow:0 18px 40px #001b2b24;padding:15px 20px;border-radius:13px}
#dropHint:not([hidden]){position:fixed;inset:17px;z-index:100;pointer-events:none;border:3px dashed #37b4a8;border-radius:22px;background:#e5f9f1d9;display:grid;place-items:center;font-size:26px;font-weight:800;color:#064255;backdrop-filter:blur(4px)}
@media(max-width:1100px){.sidebar{width:265px;min-width:265px;max-width:265px}.workspace{padding:26px}.search-box{min-width:180px}.search-box input{width:155px}}
@media(max-width:780px){.shell{margin:0;min-height:100dvh;border-radius:0}.sidebar{width:100%;min-width:0;max-width:none;padding:14px 16px}.sidebar-brand{padding:0 0 10px}.sidebar-section-label,.sidebar-foot{display:none}.brand-row{font-size:18px}.cloud-icon{width:40px;height:40px;font-size:20px}.workspace{padding:23px 16px}.topline{min-height:80px}.heading h1{font-size:24px}.actions{flex-wrap:wrap}.search-box{width:100%}.search-box input{width:100%}.entry{min-height:143px;padding:20px 16px}.folder-grid{gap:10px}.content-heading h2{font-size:18px}}
@media(max-width:440px){.folder-grid{grid-template-columns:1fr}.quick-actions{width:100%}.quick-actions button{flex:1}.entry{min-height:125px}}
@media(prefers-reduced-motion:reduce){.entry,.side-entry,.upload-button{transition:none!important;transform:none!important}}

/* HiraTech v2.1: in-page file action menu and accurate selected sidebar */
.file-action-popover{position:fixed;z-index:1000;min-width:190px;padding:7px;background:#fff;border:1px solid #dbe8eb;border-radius:13px;box-shadow:0 16px 45px #04263a33;display:flex;flex-direction:column;gap:3px;color:#073050}.file-action{border:0;border-radius:9px;background:transparent;color:#073050;padding:12px 14px;text-align:left;font-size:14px;font-weight:600;cursor:pointer}.file-action:hover,.file-action:focus-visible{background:#eaf7f5;outline:0}.file-action.danger{color:#c33942}.file-action.danger:hover,.file-action.danger:focus-visible{background:#fff0f1}.side-entry.active{background:linear-gradient(95deg,#276d79aa,#25597988)!important;box-shadow:inset 3px 0 #57c2b1!important;color:#fff!important}

/* HiraTech v2.2: visible download actions and correctly nested semantic cards */
.entry{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:10px;min-height:244px;padding:17px 18px 18px;overflow:visible}
.entry-open{border:0;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;flex:1;padding:20px 8px 8px;cursor:pointer}
.entry-open .name{max-width:100%;font-size:15px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.entry-open .entry-meta{font-size:12px;color:#8298a6}
.entry-art{display:flex;align-items:center;justify-content:center;min-height:61px}
.entry .menu{top:12px;left:13px;right:auto;color:#4f6e80;background:#eef6f7;border:1px solid #deeaed;border-radius:9px;font-weight:700;font-size:24px;width:34px;height:34px;line-height:1;display:grid;place-items:center}
.entry .menu:hover{background:#d9f4ed;border-color:#57c2b1}
.entry-download{width:100%;min-height:44px;border:0;border-radius:11px;background:linear-gradient(100deg,#57c2b1,#38b4a7);font-size:13px;font-weight:800;color:#073050;box-shadow:0 5px 12px #24a18d20;transition:transform .15s,filter .15s}
.entry-download:hover{filter:brightness(.96);transform:translateY(-1px)}
.entry.is-folder .entry-download{background:#e3f5f0;border:1px solid #b8e5dc;color:#157f79;box-shadow:none}
.entry.is-folder .entry-download:hover{background:#d5f1e8}
@media(max-width:780px){.entry{min-height:210px;padding:12px}.entry-open{padding:26px 4px 4px}.entry-download{font-size:12px;min-height:42px}}
