:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172321;background:#f5f6f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a.secondary{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #91c7b3;outline-offset:3px}.top{height:86px;padding:0 5%;border-bottom:1px solid #e1e5de;display:flex;align-items:center;gap:32px;background:#fff}.brand{font-size:25px;font-weight:800;letter-spacing:-1px}.brand span{font-weight:400;margin-left:7px;color:#507466}.top-label{font-size:13px;color:#7a847e}.top form{margin-left:auto}.auth{max-width:460px;margin:8vh auto;padding:32px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#528372;margin-bottom:18px}h1{font-size:42px;line-height:1.12;letter-spacing:-1.7px;margin:0 0 18px}h2{font-size:22px;letter-spacing:-.5px;margin:0 0 12px}h3{font-size:18px;margin:0 0 7px;font-weight:650}.muted{color:#768078;font-size:14px;line-height:1.6;margin:0 0 20px}.auth .muted{font-size:15px;margin-bottom:30px}.field{display:block;margin:0 0 18px}.field>span{display:block;font-size:12px;font-weight:650;margin-bottom:9px}input:not([type=hidden]):not([type=file]){width:100%;height:46px;border:1px solid #d6ded6;border-radius:8px;padding:0 13px;background:#fff;color:#172321;min-width:0}input:focus{outline:2px solid #7bb49c;outline-offset:1px}input::placeholder{color:#a0a79f;font-size:13px}.primary,.secondary,.danger{border-radius:8px;padding:13px 17px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-size:13px;font-weight:650;white-space:nowrap}.primary{background:#1c5240;color:white}.primary:hover{background:#28674f}.primary span{font-size:19px}.wide{width:100%;justify-content:space-between}.secondary{background:white;border-color:#d7dfd7;color:#365146}.secondary:hover{background:#f0f5ee}.danger{background:#fff4f2;color:#a74537}.text-button{border:0;background:none;font-size:13px;color:#64756a;padding:10px}.footnote,.footer-note{font-size:12px;color:#8c958b;line-height:1.65}.auth .footnote{text-align:center;margin-top:22px}.notice{padding:14px 17px;border:1px solid #edd6cf;background:#fff0eb;color:#994d3a;border-radius:8px;font-size:13px;line-height:1.5;margin:0 0 24px}.notice.success{background:#e7f3e7;border-color:#c9e2c9;color:#356441}.dashboard{max-width:1100px;margin:0 auto;padding:52px 28px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.intro h1{margin-bottom:12px}.intro .muted{margin:0}.badge{font-size:12px;padding:9px 13px;background:#e8ece5;border-radius:20px;color:#617060}.upload-card{padding:32px;background:#fff;border:1px solid #e1e6dd;border-radius:14px;display:grid;grid-template-columns:1fr 1.2fr;gap:60px;box-shadow:0 5px 24px #263c2204}.upload-card .muted{max-width:320px}.upload-form{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.pin-row{display:flex;gap:8px}.pin-row .secondary{padding:10px;font-size:11px}.file-drop{grid-column:1/-1;border:1px dashed #b6c4b8;border-radius:9px;background:#f9fbf7;position:relative;text-align:center;padding:22px 16px;margin:2px 0 18px;cursor:pointer;overflow:hidden}.file-drop>span,.file-drop>strong{display:block}.file-icon{font-size:25px;color:#668a72;margin-bottom:6px}.file-drop strong{font-size:13px}.file-drop [data-file-label]{font-size:12px;color:#8a968a;margin-top:7px}.file-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-drop:focus-within{outline:2px solid #7bb49c}.upload-form>.primary{grid-column:1/-1;justify-self:end}.list-heading{display:flex;align-items:baseline;justify-content:space-between;margin:40px 0 16px}.list-heading h2,.list-heading .muted{margin:0}.project-list{display:grid;gap:14px}.project{background:white;border:1px solid #e1e6dd;border-radius:12px;padding:24px}.project-info{display:flex;gap:15px;align-items:center;margin-bottom:20px}.project-icon{width:42px;height:46px;background:#edf3e9;border-radius:8px;display:grid;place-items:center;color:#73916c;font-size:23px}.project-info .muted{margin:0;font-size:12px}.share-row{display:flex;gap:10px}.share-row input{font-size:12px;background:#f8faf6!important;color:#6c7a6b!important}details{border-top:1px solid #edf0e9;margin-top:20px;padding-top:14px}summary{font-size:12px;color:#71846f;cursor:pointer;list-style:none}summary::before{content:'＋';margin-right:7px}details[open] summary::before{content:'−'}.manage{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-top:22px}.change-pin{display:flex;gap:12px;align-items:end}.change-pin .field{margin:0}.empty{text-align:center;padding:58px 20px;border:1px dashed #d5ded0;border-radius:12px}.empty>span{display:block;font-size:32px;color:#96ad89;margin-bottom:18px}.empty .muted{margin:0}.footer-note{margin-top:26px}.viewer{height:calc(100dvh - 86px);display:flex;flex-direction:column}.viewer-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#f5f6f3;gap:14px}.viewer-bar strong{font-size:14px}.viewer-actions{display:flex;align-items:center;gap:16px;font-size:12px}.viewer iframe{display:block;flex:1;width:100%;border:0;background:white}@media(max-width:850px){.upload-card{grid-template-columns:1fr;gap:18px}.upload-card .muted{max-width:none}.share-row{flex-wrap:wrap}.share-row input{flex-basis:100%}.manage{align-items:start;flex-direction:column}}@media(max-width:540px){.top{height:70px;padding:0 22px}.top-label{display:none}.auth{margin:5vh auto;padding:26px}h1{font-size:35px}.dashboard{padding:32px 18px}.upload-card{padding:22px}.upload-form{display:block}.upload-form>.primary{width:100%}.file-drop{display:block}.list-heading>.muted{display:none}.project{padding:19px}.share-row .secondary{flex:1;font-size:11px;padding:12px}.change-pin{flex-direction:column;align-items:stretch}.change-pin .field{width:100%}.manage{align-items:stretch}.viewer{height:calc(100dvh - 70px)}.viewer-bar{padding:8px 13px;align-items:start}.viewer-actions{gap:5px;flex-direction:column}.badge{font-size:11px;padding:8px}.intro{gap:12px}}
