:root{--ink:#1b2b32;--muted:#819098;--line:#e9eeed;--green:#16846b;--deep:#0a5648;--pale:#edf8f3;--bg:#f9fbfb;--white:#fff;--shadow:0 13px 42px rgba(21,56,47,.055)}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
button:focus-visible,input:focus-visible{outline:3px solid rgba(22,132,107,.3);outline-offset:2px}
[hidden]{display:none!important}
.green-period{color:var(--green)}
.brand{display:flex;align-items:center;gap:10px;color:#172b2c;font-weight:800;font-size:21px;letter-spacing:-1px}
.brand-symbol{background:#137b66;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:white;font-size:25px;letter-spacing:-2px;font-weight:800;line-height:1;box-shadow:0 7px 15px rgba(19,123,102,.12)}
.brand-symbol span{color:#a6e1c8}
.brand-light{font-weight:500}
.eyebrow{font-size:10px;color:var(--green);letter-spacing:2.1px;font-weight:800}
.secure-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#25b18d;box-shadow:0 0 0 3px #e6f7ef;margin-right:9px}
.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);border:1px solid var(--green);color:white;font-weight:700;font-size:12px;padding:12px 17px;border-radius:9px;white-space:nowrap;transition:background .15s,transform .15s,box-shadow .15s}
.primary-button:hover{background:#0d6955;box-shadow:0 8px 18px rgba(14,112,87,.14);transform:translateY(-1px)}
.primary-button svg,.subtle-button svg,.danger-subtle svg{height:16px;width:16px}
.subtle-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e4ebe8;color:#405451;background:white;border-radius:9px;font-weight:700;font-size:12px;padding:11px 14px;white-space:nowrap;transition:background .15s}
.subtle-button:hover{background:#f3f8f6}
.icon-button{display:inline-grid;place-items:center;border:1px solid #e5ebe9;background:#fff;color:#6a807b;border-radius:9px;width:39px;height:39px;font-size:24px}
.icon-button:hover{background:#f2f8f5;color:var(--green)}
.icon-button svg{height:17px;width:17px}
svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* Password/PIN screen */
.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(500px,1.1fr);background:#fff}
.login-art{position:relative;overflow:hidden;background:linear-gradient(155deg,#063b33,#0e6f5a 72%,#158267);display:flex;align-items:center;justify-content:center}
.login-art:before,.login-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);width:570px;height:570px;border-radius:50%;left:-180px;top:-215px}
.login-art:after{width:630px;height:630px;left:130px;top:240px;border-color:rgba(255,255,255,.09)}
.login-art-grid{position:absolute;inset:0;opacity:.17;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(130deg,transparent,black)}
.floating-drive{z-index:1;width:235px;height:250px;background:linear-gradient(140deg,#f8fffb,#dbeee6);border-radius:32px;box-shadow:25px 38px 75px rgba(2,32,24,.25),inset 0 1px white;transform:rotate(-9deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}
.floating-drive-mark{color:#0b705a;font-size:92px;font-weight:800;line-height:1;letter-spacing:-9px;text-shadow:3px 3px 0 #a6dcc6}
.floating-lines{display:flex;gap:8px;align-items:center}.floating-lines span{display:block;width:34px;height:8px;background:#c1e4d4;border-radius:99px}.floating-lines span:nth-child(2){width:52px;background:#85c5a9}.floating-lines span:nth-child(3){width:16px}
.art-caption{position:absolute;left:65px;bottom:55px;color:#b6dfd1;font-size:10px;font-weight:800;letter-spacing:2.3px;display:flex;align-items:center;gap:15px}
.art-caption-line{display:inline-block;width:35px;height:1px;background:#b6dfd1}
.login-form-area{display:flex;align-items:center;justify-content:center;padding:50px}
.login-inner{width:min(100%,390px)}
.brand-login{margin-bottom:110px}
.login-intro h1{font-size:47px;font-weight:750;letter-spacing:-2.6px;line-height:1.1;margin:14px 0 14px}
.login-intro p{font-size:14px;color:#84918d;line-height:1.7;max-width:320px;margin:0 0 42px}
.login-form label{display:block;font-weight:750;font-size:12px;color:#3e5350;margin-bottom:10px}
.login-form input,.action-dialog input{width:100%;padding:15px 16px;background:#fbfcfc;border:1px solid #dfe7e4;border-radius:10px;outline:0;color:var(--ink);font-size:15px;transition:border-color .15s,box-shadow .15s}
.login-form input:focus,.action-dialog input:focus{border-color:var(--green);box-shadow:0 0 0 3px #e4f4ed}
.login-form input::placeholder,.action-dialog input::placeholder{color:#acb8b4}
.login-button{width:100%;padding:16px;margin-top:18px;font-size:13px;justify-content:space-between}
.login-button span{font-size:20px;font-weight:400;line-height:0}
.form-error{color:#b83735;font-size:12px;line-height:1.5}
.login-footnote{color:#99a7a3;font-size:11px;margin-top:45px;white-space:nowrap}
.footnote-rule{margin:0 5px}

/* Main application */
.app-shell{display:flex;height:100vh;min-height:650px;overflow:hidden}
.sidebar{display:flex;flex-direction:column;flex:0 0 245px;background:#fff;border-right:1px solid var(--line);padding:31px 18px 20px;min-width:0}
.brand-sidebar{padding:0 14px;margin-bottom:68px}
.workspace-label{color:#a5b1b0;font-weight:800;letter-spacing:1.6px;font-size:10px;padding:0 17px;margin-bottom:14px}
.side-nav{display:grid;gap:5px}
.nav-link{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:13px 15px;border:none;border-radius:9px;background:transparent;color:#6f8180;font-size:13px;font-weight:650;transition:background .15s,color .15s}
.nav-link:hover{background:#f4f8f6}
.nav-link.active{background:var(--pale);color:var(--deep)}
.nav-link svg{height:18px;width:18px}
.sidebar-spacer{flex:1;min-height:25px}
.storage-panel{border:1px solid #e8efeb;border-radius:13px;padding:17px 16px 15px;background:linear-gradient(155deg,#fafffc,#f6faf8);display:flex;flex-direction:column;gap:7px}
.storage-icon{display:grid;place-items:center;background:#e7f6ed;border-radius:9px;color:var(--green);width:34px;height:34px;margin-bottom:7px}
.storage-icon svg{height:18px;width:18px}
.storage-panel strong{font-size:12px}.storage-panel>span{font-size:10px;color:#94a19d}
.storage-progress{height:5px;border-radius:99px;background:#e6efea;margin-top:12px;overflow:hidden}.storage-progress i{display:block;width:0%;height:100%;background:var(--green);border-radius:99px}
.storage-detail{display:flex;justify-content:space-between;font-size:9px;font-weight:700;color:#81968e;margin-top:3px}
.sidebar-account{display:flex;align-items:center;gap:10px;text-align:left;width:100%;background:none;border:0;border-top:1px solid var(--line);padding:20px 6px 0;margin-top:20px;color:var(--ink)}
.avatar,.top-avatar{background:#d9e8e1;color:#205e4f;display:grid;place-items:center;width:35px;height:35px;font-size:11px;font-weight:850;border-radius:10px;flex-shrink:0}
.sidebar-account>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.sidebar-account strong{font-size:12px}.sidebar-account small{font-size:10px;color:#99a8a1}.account-exit{color:#9fb0ab}.account-exit svg{height:16px;width:16px}
.app-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:auto}
.topbar{height:91px;min-height:91px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 45px;gap:20px}
.mobile-brand{display:none}
.search-wrap{width:min(100%,405px);height:43px;background:#f6f8f8;border:1px solid #edf0ef;border-radius:9px;display:flex;align-items:center;gap:12px;padding:0 13px;color:#a0aeac}
.search-wrap svg{height:17px;width:17px}
.search-wrap input{width:100%;background:transparent;border:0;outline:0;font-size:12px;color:var(--ink);min-width:0}
.search-wrap input::placeholder{color:#9baaa6}.search-wrap kbd{font-family:inherit;font-size:10px;border:1px solid #e4eae7;background:#fff;padding:4px 6px;border-radius:5px;white-space:nowrap}
.topbar-right{margin-left:auto;display:flex;gap:28px;align-items:center}
.status-indicator{font-size:11px;color:#819590;font-weight:650;white-space:nowrap}.status-indicator i{display:inline-block;width:7px;height:7px;background:#38b58a;border-radius:50%;margin-right:7px}
.top-avatar{width:34px;height:34px;border-radius:50%;background:#e0efe7}
.content{padding:38px 45px 26px;max-width:1530px;width:100%;margin:0 auto}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}
.page-heading h1{font-size:32px;line-height:1.15;letter-spacing:-1.35px;margin:9px 0 10px;font-weight:780}
.page-heading p{font-size:12px;color:#93a09d;margin:0}
.main-upload{padding:13px 18px}
.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:39px}
.overview-card{border:1px solid #e7eeec;background:#fff;border-radius:13px;padding:19px 20px;display:flex;gap:15px;box-shadow:0 4px 20px rgba(20,60,48,.02);min-width:0}
.overview-card.accent{background:linear-gradient(120deg,#f3fbf6,#eaf6ef);border-color:#e0efe5}
.overview-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#f0f5f3;color:#4b9e88}
.overview-card.accent .overview-icon{background:#def2e5;color:var(--green)}
.overview-icon svg{height:19px;width:19px}
.overview-card>div{display:flex;flex-direction:column;gap:7px;min-width:0}.overview-card small{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#92a09b}
.overview-card strong{font-size:25px;line-height:1;font-weight:780;letter-spacing:-.8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.overview-card span:not(.overview-icon){color:#a1ada9;font-size:10px;white-space:nowrap}
.files-section{border:1px solid #e9efed;border-radius:14px;background:#fff;box-shadow:var(--shadow);min-height:365px;overflow:hidden}
.files-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 24px 19px;gap:16px}
.files-heading h2{font-weight:780;font-size:17px;letter-spacing:-.4px;margin:0 0 5px}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:#9ba8a4;font-size:11px;min-height:16px}
.breadcrumbs button{border:0;background:none;padding:2px;color:#8ba29a;font-size:11px;white-space:nowrap}.breadcrumbs button:hover{color:var(--green);text-decoration:underline}.breadcrumbs span{color:#b7c3bd}
.file-actions{display:flex;align-items:center;gap:8px}
.file-table-head{display:grid;grid-template-columns:minmax(180px,1fr) 145px 90px 35px;align-items:center;gap:15px;padding:13px 24px;background:#f9fbfa;border-top:1px solid #f0f3f1;border-bottom:1px solid #edf0ee;color:#9facaa;font-size:9px;font-weight:850;letter-spacing:1.2px}
.file-row{width:100%;display:grid;grid-template-columns:minmax(180px,1fr) 145px 90px 35px;align-items:center;gap:15px;text-align:left;padding:12px 24px;min-height:67px;border:0;border-bottom:1px solid #f0f3f1;background:white;color:var(--ink);font-size:12px;transition:background .1s}
.file-row:hover,.file-row.selected{background:#f5faf7}.file-row:last-child{border-bottom:0}
.file-namecell{display:flex;align-items:center;gap:12px;min-width:0}
.file-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#eef5fb;color:#719bc4;flex-shrink:0}
.file-icon.folder{background:#edf8f1;color:#44a581}.file-icon.pdf{background:#fff1ed;color:#d47460}.file-icon.image{background:#f4effc;color:#9878ca}.file-icon.archive{background:#fcf3e5;color:#d8a458}.file-icon.video{background:#ebf6fa;color:#5b9eaf}.file-icon.code{background:#edf0ff;color:#748acf}
.file-icon svg{height:18px;width:18px}
.file-namebox{display:flex;flex-direction:column;gap:5px;min-width:0}
.file-name{font-size:12px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-type{font-size:10px;color:#a2ada9}
.file-date,.file-size{font-size:11px;color:#91a09a;white-space:nowrap}
.more-button{border:0;border-radius:7px;background:transparent;color:#99aaa5;width:34px;height:34px;display:grid;place-items:center}
.more-button:hover{background:#e4f3eb;color:var(--green)}
.row-menu{position:fixed;z-index:30;background:#fff;box-shadow:0 12px 35px rgba(30,58,50,.15);border:1px solid #e7eeea;border-radius:10px;min-width:155px;padding:6px}
.row-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px;border:0;background:none;border-radius:6px;color:#576c63;text-align:left;font-size:12px}.row-menu button:hover{background:#f1f7f3}.row-menu button.danger{color:#b45047}
.row-menu svg{width:15px;height:15px}
.empty-state{text-align:center;padding:54px 20px 65px}
.empty-illustration{width:85px;height:85px;background:#edf8f2;border-radius:23px;display:grid;place-items:center;color:#65a994;margin:0 auto 20px;transform:rotate(-4deg)}
.empty-illustration svg{width:41px;height:41px}.empty-state h3{font-size:16px;letter-spacing:-.3px;margin:0 0 8px}.empty-state p{font-size:12px;color:#a0aaa7;line-height:1.6;margin:0 0 21px}
.bottom-note{font-size:10px;color:#9eb0a9;text-align:center;margin:24px 0 0}

/* Details, dialogs and feedback */
.details-panel{flex:0 0 282px;background:#fff;border-left:1px solid var(--line);padding:30px 23px;overflow:auto}
.details-head{display:flex;align-items:center;justify-content:space-between;color:#9ca9a5;font-size:10px;letter-spacing:1.4px;font-weight:800;margin-bottom:28px}
.details-head .icon-button{width:27px;height:27px;font-size:22px;border:0}
.details-preview{height:180px;display:grid;place-items:center;border-radius:13px;background:#f2f7f5;margin-bottom:20px;overflow:hidden;color:#67a991}
.details-preview img{width:100%;height:100%;object-fit:contain}.details-preview svg{height:60px;width:60px}
.details-panel h3{font-size:16px;line-height:1.4;overflow-wrap:anywhere;margin:0 0 5px}.details-subtype{font-size:11px;color:#a0aea8}
.details-divider{height:1px;background:var(--line);margin:22px 0}
.details-line{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:19px;font-size:11px}.details-line>span{color:#a0aca7}.details-line strong{font-weight:700;text-align:right;overflow-wrap:anywhere;color:#4c635c}
.checksum-line{flex-direction:column;gap:7px}.checksum-line strong{max-width:100%;font-size:9px;letter-spacing:.2px;color:#90a19a;text-align:left}
.details-buttons{display:grid;gap:8px;margin-top:32px}.details-buttons button{width:100%}
.danger-subtle{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#b7665d;border:1px solid #f1e4e0;background:#fff7f5;font-size:12px;border-radius:9px;font-weight:700;padding:12px}.danger-subtle:hover{background:#fff0eb}
.drop-overlay{position:fixed;inset:0;z-index:55;background:rgba(241,250,245,.92);border:5px dashed #71b39b;display:grid;place-items:center;text-align:center;pointer-events:none}
.drop-message{padding:40px;color:var(--green)}.drop-message svg{height:68px;width:68px}.drop-message h2{font-size:28px;color:#1f4d3c}.drop-message p{font-size:14px;color:#7a9b8d}
.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#263b35;color:#fff;border-radius:10px;padding:12px 18px;z-index:80;font-size:12px;font-weight:650;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.toast.error{background:#923d38}
.upload-queue{position:fixed;bottom:22px;right:22px;width:330px;background:white;border-radius:13px;border:1px solid #e3ece7;box-shadow:0 14px 50px rgba(14,64,44,.14);z-index:60;padding:15px 17px;max-height:350px;overflow:auto}
.queue-heading{display:flex;align-items:center;gap:8px;font-size:12px;color:#53675b;margin-bottom:12px}.queue-heading svg{width:16px;height:16px;color:var(--green)}.queue-heading strong{flex:1}.queue-heading #queueCount{font-size:10px;color:#a5b4aa}.queue-heading button{border:0;background:none;color:#97a6a0;font-size:20px}
.queue-item{font-size:11px;margin-bottom:13px}.queue-item:last-child{margin-bottom:0}.queue-name{display:flex;justify-content:space-between;gap:8px;color:#546b60}.queue-name span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-name span:last-child{color:#96a59f;font-size:10px;flex-shrink:0}.queue-bar{height:4px;border-radius:4px;background:#e6efea;margin-top:7px;overflow:hidden}.queue-bar i{display:block;height:100%;background:#2fa382;width:0;transition:width .2s}.queue-item.failed .queue-name{color:#a9433e}.queue-item.failed .queue-bar i{background:#c64d45}
dialog{border:0;padding:0;background:white;color:var(--ink);box-shadow:0 20px 80px rgba(9,41,33,.23)}dialog::backdrop{background:rgba(13,38,32,.45);backdrop-filter:blur(2px)}
.action-dialog{width:min(420px,calc(100vw - 32px));border-radius:16px;padding:27px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start}
.dialog-symbol{width:40px;height:40px;border-radius:12px;background:#e8f7ee;color:var(--green);display:grid;place-items:center}.dialog-symbol svg{height:21px;width:21px}
.dialog-close{border:0;background:none;font-size:25px;color:#98a69e;line-height:1}.action-dialog h2{margin:20px 0 8px;font-size:22px;letter-spacing:-.7px}.action-dialog p{margin:0 0 21px;color:#90a099;line-height:1.6;font-size:12px}
.action-dialog label{display:block;font-size:11px;font-weight:750;margin-bottom:9px;color:#5a7169}.action-dialog input{font-size:13px;padding:12px 13px}.action-dialog .form-error{color:#ac443b;margin:8px 0 0}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:25px}.dialog-actions button{padding:12px 15px}
.image-dialog{max-width:min(850px,90vw);max-height:90vh;border-radius:14px;background:#172d27;padding:20px;text-align:center}.image-dialog img{max-width:100%;max-height:74vh;object-fit:contain}.image-dialog p{color:#cad9d0;font-size:12px;margin:12px 0 0}.image-dialog button{position:absolute;right:6px;top:3px;border:0;background:transparent;color:#fff;font-size:27px}

@media(max-width:1200px){.details-panel{position:fixed;right:0;top:0;height:100vh;width:300px;z-index:40;box-shadow:-10px 0 50px rgba(0,0,0,.08)}.content{padding:36px 30px}.topbar{padding:0 30px}.sidebar{flex-basis:215px}.overview-card{padding:16px 13px;gap:10px}.overview-card strong{font-size:22px}}
@media(max-width:850px){.sidebar{flex-basis:69px;padding:25px 9px}.brand-sidebar{padding:0;margin:0 0 65px;justify-content:center}.brand-sidebar>span{display:none}.workspace-label,.nav-link>span:last-child,.storage-panel,.sidebar-account>span:nth-child(2),.account-exit{display:none}.nav-link{justify-content:center;padding:14px 0}.nav-icon{display:grid}.sidebar-account{justify-content:center;padding:15px 0 0}.content{padding:30px 24px}.topbar{height:74px;min-height:74px;padding:0 24px}.overview{gap:10px}.overview-card{flex-direction:column}.file-table-head,.file-row{grid-template-columns:minmax(160px,1fr) 105px 65px 35px;gap:10px;padding-left:14px;padding-right:14px}.file-date{font-size:10px}}
@media(max-width:600px){.login-screen{display:flex;min-height:100vh}.login-art{display:none}.login-form-area{padding:28px;flex:1}.brand-login{margin-bottom:85px}.login-intro h1{font-size:39px}.login-footnote{font-size:9px}.sidebar{flex-basis:53px;padding:16px 5px}.brand-symbol{height:32px;width:32px}.topbar{padding:0 15px;height:65px;min-height:65px}.search-wrap{width:100%}.search-wrap kbd,.status-indicator,.top-avatar{display:none}.content{padding:23px 14px}.page-heading{align-items:flex-start;margin-bottom:20px}.page-heading h1{font-size:27px}.page-heading p{max-width:230px;line-height:1.5}.main-upload{padding:10px}.main-upload svg{height:15px;width:15px}.overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:20px}.overview-card{padding:12px 9px;gap:9px}.overview-icon{width:31px;height:31px;flex-basis:31px}.overview-icon svg{height:16px;width:16px}.overview-card strong{font-size:18px}.overview-card small{font-size:8px;letter-spacing:.7px}.overview-card span:not(.overview-icon){display:none}.files-heading{padding:17px 12px;gap:5px}.files-heading h2{font-size:15px}.file-actions{gap:4px}.file-actions .subtle-button{padding:9px;font-size:0}.file-actions .subtle-button svg{height:18px;width:18px}.file-actions .icon-button{width:34px;height:34px}.file-table-head,.file-row{grid-template-columns:minmax(100px,1fr) 63px 27px;gap:6px;padding-left:11px;padding-right:9px}.file-table-head span:nth-child(2),.file-row .file-date{display:none}.file-table-head{font-size:8px}.file-icon{width:34px;height:34px}.file-namecell{gap:8px}.file-name{font-size:11px}.file-size{font-size:10px}.more-button{width:27px}.bottom-note{line-height:1.6}.upload-queue{width:calc(100vw - 85px);right:10px;bottom:10px}.details-panel{width:min(330px,calc(100vw - 53px))}}
