
:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#23352c;background:#f7f6f2}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:#20382c;color:#fff;padding:28px 18px;display:flex;flex-direction:column;gap:22px}.brand{font-size:24px;font-weight:750;letter-spacing:-.7px;padding:4px 10px}.brand span{display:block;color:#d6c4a0;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:6px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{border:0;background:transparent;color:#dce5de;text-align:left;padding:13px 14px;border-radius:12px}.nav button.active,.nav button:hover{background:#365a44;color:white}.aside-note{margin-top:auto;font-size:12px;color:#c3d0c5;line-height:1.6;padding:10px}.main{padding:34px clamp(16px,4vw,64px);max-width:1300px;width:100%;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#a18b63;font-size:11px;font-weight:750}.top h1{margin:7px 0;font-size:clamp(25px,3vw,36px);letter-spacing:-1.1px}.sub{color:#7b827c;margin:0}.avatar{background:#e9dfcd;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-weight:750}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:white;border:1px solid #e7e5df;border-radius:18px;padding:22px;box-shadow:0 6px 24px #20382c08}.metric{font-size:32px;font-weight:750;margin:9px 0}.muted{color:#7d867e;font-size:13px}.section{margin-top:24px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section h2{font-size:20px;letter-spacing:-.4px;margin:0}.btn{border:0;border-radius:11px;background:#285c43;color:white;padding:12px 18px;font-weight:650}.btn:hover{background:#1c4832}.btn.alt{background:#f0f2ed;color:#2d4b38}.btn.outline{border:1px solid #b9c9ba;background:white;color:#285c43}.upload{border:2px dashed #c9d5ca;border-radius:17px;background:#fafbf8;padding:32px;text-align:center}.upload strong{display:block;font-size:18px;margin:8px 0}.upload p{color:#7a857d;font-size:13px}.upload .actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:18px}.photo{border:1px solid #e4e9e2;border-radius:12px;overflow:hidden;background:white}.photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo .info{padding:9px;font-size:12px}.ok{color:#287c4c}.warn{color:#b17a25}.bad{color:#ba4a4a}.tag{display:inline-block;padding:5px 9px;border-radius:20px;background:#f0f3ec;color:#48604d;font-size:12px}.post{display:grid;grid-template-columns:150px 1fr;gap:17px;padding:16px;border:1px solid #e8e9e4;border-radius:14px;margin-top:12px}.post img{width:150px;height:140px;object-fit:cover;border-radius:10px}.post p{line-height:1.6;margin:10px 0}.post .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.post .actions button{font-size:12px;padding:8px 11px}.empty{padding:24px;color:#7b857d;text-align:center;background:#f9faf8;border-radius:12px}.hidden{display:none!important}textarea{width:100%;min-height:115px;padding:13px;border:1px solid #cfd9ce;border-radius:12px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chat{background:#f7f8f4;padding:17px;border-radius:14px;margin-bottom:12px;line-height:1.6}.notice{border-left:3px solid #c5a16a;background:#fbf7ed;padding:13px 16px;border-radius:6px;color:#6e6045;font-size:13px}.footer{font-size:12px;color:#7e8980;margin:25px 0}.mobile-nav{display:none}input[type=file]{display:none}@media(max-width:760px){.app{display:block}.side{display:none}.main{padding:22px 15px 90px}.cards{grid-template-columns:repeat(3,1fr);gap:8px}.card{padding:14px}.metric{font-size:25px}.card .muted{font-size:11px}.grid2{grid-template-columns:1fr}.post{grid-template-columns:95px 1fr;gap:10px}.post img{width:95px;height:105px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#20382c;padding:10px 6px;justify-content:space-around;z-index:5}.mobile-nav button{border:0;background:transparent;color:white;font-size:11px;padding:8px 5px}.top{margin-bottom:18px}}

label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px}input[type=text],input[type=password],input[type=datetime-local],select{border:1px solid #cfd9ce;border-radius:10px;padding:12px;max-width:100%;width:100%;background:white}form.inline{display:inline-block}.photo-select{display:flex;align-items:center;gap:9px;margin-top:9px}.photo-select input{accent-color:#285c43}.post textarea{min-height:105px}.post form{max-width:680px}.alert{padding:12px 15px;border-radius:10px;background:#eaf4ed;color:#245a3a;margin-bottom:18px}.alert.error{background:#fff0eb;color:#9b3028}.login-shell{max-width:440px;margin:9vh auto;padding:16px}.login-shell .card{padding:28px}.post-actions{display:flex;flex-wrap:wrap;gap:8px}.post-actions button{font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed} .photo img{cursor:default}.week-card{background:#f8faf5;border:1px solid #e3e9df;border-radius:12px;padding:15px;margin-top:10px} .photo-pick{display:flex;align-items:center;gap:12px;margin:8px 0}.photo-pick img{width:60px;height:60px;object-fit:cover;border-radius:8px} .form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.form-row>*{flex:1} .notice{margin-top:15px} .auth-link{color:#d8e9da;display:inline-block;margin-top:10px} .photo.status-low{outline:2px solid #dfac62} .switch{display:inline-flex;gap:8px;align-items:center} @media(max-width:760px){.post form{width:100%}.form-row{display:block}}

/* Melhorias do carregamento de fotografias */
.upload.dragging{background:#e8f3e9;border-color:#285c43;box-shadow:inset 0 0 0 2px #285c43}
.file-previews{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:12px auto}
.file-previews img{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid #d6ded6}
.upload:focus-visible{outline:3px solid #48785f;outline-offset:3px}
