:root{color:#181817;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #181817;--muted: #6e6a62;--paper: #fffdf7;--line: #d9d3c8;--panel: #fbf8f0;--coral: #d9573c;--coral-dark: #a83825;--teal: #00756c;--mustard: #d7a827;--shadow: 0 18px 60px rgba(35, 32, 28, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}.app-shell{width:min(1520px,100%);min-height:100vh;margin:0 auto;padding:10px}.topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border:1px solid var(--line);border-radius:8px 8px 0 0;background:#fffdf7d6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand,.topbar-actions,.panel-heading,.panel-actions,.vault-head,.vault-toolbar,.security-strip,.security-strip div,.security-strip a,.status-chip,.success-line,.error-line,.muted-line{display:flex;align-items:center}.brand{gap:14px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #23201c;border-radius:8px;background:var(--ink);color:var(--paper);font-size:1.55rem;font-weight:800;line-height:1}.brand h1,.panel-heading h2{margin:0;letter-spacing:0}.brand h1{font-size:1.6rem;line-height:1}.brand p,.panel-heading p{margin:4px 0 0;color:var(--muted)}.topbar-actions{gap:12px}.status-chip{gap:8px;color:var(--ink);font-weight:650}.workspace{display:grid;min-width:0;grid-template-columns:minmax(320px,.88fr) minmax(420px,1.12fr);align-items:stretch;border-right:1px solid var(--line);border-left:1px solid var(--line);background:#fffdf78a}.upload-panel,.vault-panel{display:flex;min-width:0;min-height:760px;flex-direction:column;gap:16px;padding:26px;background:linear-gradient(135deg,rgba(0,117,108,.05),transparent 32%),var(--paper)}.upload-panel{border-right:1px solid var(--line)}.vault-panel{background:linear-gradient(315deg,rgba(217,87,60,.055),transparent 34%),var(--paper)}.panel-heading{gap:14px}.panel-heading h2{font-size:1.45rem}.field{display:grid;gap:8px;color:var(--ink);font-weight:700}.password-form{margin-top:2px}.password-row{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.password-row input{width:100%;min-height:46px;border:0;outline:0;padding:0 13px;background:transparent;color:var(--ink)}.password-row:focus-within,.dropzone.dragging{border-color:var(--teal);box-shadow:0 0 0 3px #00756c21}.success-line,.error-line,.muted-line{min-height:20px;gap:8px;margin:0;font-weight:650}.success-line{color:var(--teal)}.error-line{color:var(--coral-dark)}.muted-line{color:var(--muted)}.dropzone{min-height:186px;display:grid;place-items:center;gap:8px;padding:22px;border:1.5px dashed #c7bfb2;border-radius:8px;background:#fffdf79e;text-align:center;color:#55514a;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.dropzone strong{color:var(--ink);font-size:1.08rem}.dropzone span{color:var(--muted)}.queue-heading{display:flex;justify-content:space-between;gap:12px;color:var(--ink)}.queue-heading span{color:var(--muted)}.file-list{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fffdf7a3}.file-row,.progress-row,.vault-row{display:grid;align-items:center;gap:12px;min-height:52px;padding:9px 12px;border-bottom:1px solid var(--line)}.file-row:last-child,.progress-row:last-child,.vault-row:last-child{border-bottom:0}.file-row{grid-template-columns:auto minmax(0,1fr) auto auto}.progress-row{grid-template-columns:auto minmax(0,1fr) auto minmax(110px,220px) minmax(52px,auto)}.empty-row,.vault-empty{min-height:74px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.vault-empty{min-height:360px;flex-direction:column;font-size:1.05rem}.file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#ece7dd}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .18s ease}.panel-actions{justify-content:space-between;gap:12px;margin-top:auto}.primary-button,.ghost-button,.icon-button,.outline-teal-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:0 15px;color:var(--ink);background:#fff;cursor:pointer;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease}.primary-button{min-width:168px;border-color:var(--coral);background:var(--coral);color:#fff;font-weight:750}.primary-button:hover,.ghost-button:hover,.icon-button:hover,.outline-teal-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled,.icon-button:disabled,.outline-teal-button:disabled{cursor:not-allowed;opacity:.62;transform:none}.ghost-button{font-weight:650}.ghost-button.slim{min-height:34px}.icon-button{width:42px;padding:0}.icon-button.bare{border:0;border-left:1px solid var(--line);border-radius:0;background:transparent}.icon-button.danger{border-color:#d9573c5c;color:var(--coral)}.outline-teal-button{border-color:var(--teal);color:var(--teal);font-weight:750}.owner-badge{display:inline-flex;align-items:center;min-height:34px;border-radius:8px;padding:0 12px;background:#d7a82759;color:#4c3b08;font-weight:650}.vault-head,.vault-toolbar{justify-content:space-between;gap:16px}.vault-login{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}.vault-toolbar{color:var(--muted)}.vault-toolbar div{display:flex;gap:8px;align-items:center}.vault-table{width:100%;max-width:100%;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fffdf7bd}.vault-row{grid-template-columns:86px minmax(150px,1fr) 88px minmax(150px,1fr) 106px}.vault-header{min-height:50px;font-weight:750;background:#f4f1ea9e}.thumb{width:72px;height:54px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#ece7dd}.thumb img{width:100%;height:100%;object-fit:cover}.row-actions{display:flex;gap:9px;justify-content:flex-end}.message-line{margin:-2px 0 0;color:var(--muted)}.security-strip{justify-content:space-between;gap:20px;margin-top:16px;padding:22px 26px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 12px 40px #23201c14}.security-strip div{gap:14px}.security-strip span{display:grid;gap:3px}.security-strip small{color:var(--muted)}.security-strip a{gap:8px;color:var(--teal);font-weight:750;text-decoration:none}.spin{animation:spin .9s linear infinite}.status-done,.status-uploading{color:var(--teal)}.status-error{color:var(--coral)}.status-queued{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1080px){.workspace{grid-template-columns:1fr}.upload-panel{border-right:0;border-bottom:1px solid var(--line)}.security-strip{align-items:flex-start;flex-direction:column}}@media (max-width: 760px){.app-shell{padding:0}.topbar{align-items:flex-start;flex-direction:column;border-radius:0}.topbar-actions{width:100%;justify-content:space-between}.upload-panel,.vault-panel{min-height:auto;padding:20px}.vault-login{grid-template-columns:1fr}.progress-row{grid-template-columns:auto minmax(0,1fr) auto}.progress-track{grid-column:2 / -1;width:100%}.vault-table{overflow-x:auto}.vault-row{min-width:720px}.panel-actions,.vault-toolbar{align-items:stretch;flex-direction:column}.primary-button,.ghost-button,.outline-teal-button{width:100%}}
