.sidebar{padding-top:22px}.brand{padding-bottom:18px}.nav{gap:2px}.nav button{padding:9px 13px;font-size:12px}.sidebar .nav-caption{margin-top:15px}.sidebar-bottom{padding-top:15px}.local-status{font-size:11px;padding:11px}.topbar-right .btn{font-size:11px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#eaf0de;padding:8vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-art .brand{padding:0;margin-bottom:40px}.login-art h1{font:400 49px/1.12 Georgia,serif;max-width:420px;letter-spacing:-1.8px}.login-art p{font-size:15px;color:#728068;line-height:1.8;margin-top:20px}.login-art .illustration svg{width:100%;height:240px;margin-top:25px}.login-panel{padding:55px;display:grid;align-content:center;max-width:570px;width:100%;margin:auto}.login-panel h2{font-size:28px}.login-panel form{display:grid;gap:20px;margin-top:30px}.login-panel .btn{width:100%}.password-help{font-size:11px;color:#8a9680;line-height:1.7}.secret-input{font-family:inherit}.new-pill{font-size:8px;border-radius:4px;background:#e6b892;padding:3px 5px;margin-left:auto;color:#5d4936}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.notebook{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.note-card{background:#fffbea;border-color:#e9e2c7;position:relative;min-height:210px;display:flex;flex-direction:column;align-items:flex-start}.note-card:nth-child(3n+2){background:#f0f4e7;border-color:#dfe6d1}.note-card:nth-child(3n){background:#f5efe9;border-color:#e8dcd1}.note-card h2{font-size:18px;line-height:1.5;margin:12px 0}.note-card p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;color:#75806d}.note-card footer{margin-top:auto;padding-top:20px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.alert-setting{background:#eff3e6;border:1px solid #dde5d1;border-radius:14px;padding:16px;margin-top:4px}.alert-setting label{font-size:12px}.alert-setting .form-grid{gap:12px}.notification-popup{position:relative;border:1px solid #ccd7bb;background:#fffef7;border-radius:16px;box-shadow:0 8px 40px #183e3630;padding:18px;max-width:350px;margin-top:12px;color:#23483e}.notification-popup h3{margin:8px 0;font-size:14px;line-height:1.5}.notification-popup p{font-size:11px;color:#738467}.notification-popup .close-popup{position:absolute;right:8px;top:8px;padding:5px}#popup-stack{position:fixed;right:22px;bottom:22px;z-index:500;max-height:80vh;overflow:auto}.permission-matrix{font-size:11px;max-height:310px;overflow:auto}.permission-matrix th,.permission-matrix td{padding:9px 7px}.permission-matrix th{font-size:9px;letter-spacing:0}.permission-matrix input{width:17px;height:17px}.map-box{height:470px;border-radius:18px;overflow:hidden;border:1px solid var(--line);z-index:1}.map-small{height:290px;border-radius:15px;margin:20px 0;overflow:hidden}.map-marker{border-radius:12px;background:#fffefa;border:2px solid #214e46;padding:5px 9px;box-shadow:0 3px 10px #214e4633;font-size:12px;font-weight:600;width:max-content;white-space:nowrap}.map-marker:after{content:'';display:block;position:absolute;left:12px;bottom:-8px;border:4px solid transparent;border-top-color:#214e46}.locations-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.location-person{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--paper);font-size:12px}.location-person small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px}.chat-panel{padding:0;overflow:hidden;display:flex;flex-direction:column;height:640px}.chat-stream{padding:24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:15px;background:#f2f4ec}.chat-message{max-width:85%;padding:13px 16px;background:var(--paper);border:1px solid #e0e7d6;border-radius:16px 16px 16px 3px;align-self:flex-start;min-width:140px}.chat-message.mine{background:#dfebcb;align-self:flex-end;border-radius:16px 16px 3px 16px}.chat-message .author{font-size:10px;font-weight:700;color:#63805b;margin-bottom:6px}.chat-message .message-text{font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message .meta{font-size:9px;color:#8e9a80;margin-top:7px;display:flex;align-items:center;justify-content:flex-end;gap:7px}.chat-message .meta button{border:1px solid #b7c7a4;border-radius:50%;width:20px;height:20px;font-size:11px;color:#547148}.chat-composer{padding:15px;display:flex;gap:10px;background:var(--paper);border-top:1px solid var(--line)}.chat-composer textarea{min-height:43px;max-height:130px;height:43px;font-size:12px}.chat-composer .btn{align-self:flex-end}.people-list{display:grid;gap:15px}.people-list .row{font-size:12px}.status-tabs{margin-bottom:20px}.client-table strong{display:block;font-size:13px}.client-count{font-size:12px;color:var(--muted);margin-bottom:20px}.catalogue-provinces{display:grid;grid-template-columns:1fr 1fr;gap:11px;max-height:200px;overflow:auto;padding:10px 0}.catalogue-list{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:12px;margin:15px 0}.catalogue-line{padding:9px 13px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.alert-inbox{display:grid;gap:11px}.alert-line{display:flex;gap:14px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--paper);align-items:center}.alert-line .grow{flex:1}.alert-line h3{font-size:13px;line-height:1.6}.alert-line p{font-size:11px;color:var(--muted);margin-top:5px}.complete-text{color:#6d845a;font-size:12px}.role-chip{font-size:10px;color:#71835f}.install-note{display:flex;gap:10px;align-items:flex-start}.install-note svg{margin-top:2px}.split-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.chat-info-privacy{font-size:11px;color:var(--muted);line-height:1.7;margin-top:20px}.guide-grid .card{padding:20px}.actions-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.notice-warning{font-size:11px;color:#a76c40}.pending{color:#a88252}.login-panel .error{margin-top:0}.skeleton-line{height:20px;background:#e9eddf;border-radius:10px;width:70%} .file-preview img{height:100%;width:100%;object-fit:cover}.modal-body .note{margin:0}.done-event{opacity:.6;text-decoration:line-through}.calendar-weekdays{position:sticky;top:0}.month-grid .day-cell{min-height:100px}.danger-zone{margin-top:30px;border-top:1px solid #e9d5c9;padding-top:16px}.header-profile{border:0;display:flex;gap:9px;align-items:center}.nav button:disabled{opacity:.5}.alert-line.resolved{opacity:.65}.small-link{font-size:12px;color:var(--green)}.population{font-size:28px;letter-spacing:-1px;margin:6px 0}.inline-check{display:flex;align-items:center;gap:8px;font-size:12px}.inline-check input{width:18px;height:18px}
@media(max-width:1100px){.notebook{grid-template-columns:repeat(2,1fr)}.chat-layout{grid-template-columns:1fr}.chat-members-side{display:none}.two-col{grid-template-columns:1fr}.locations-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.login-layout{display:block}.login-art{padding:30px;min-height:230px}.login-art .brand{margin-bottom:25px}.login-art h1{font-size:34px}.login-art p{font-size:12px;margin-top:12px}.login-art .illustration{display:none}.login-panel{padding:28px 24px}.login-panel h2{font-size:24px}.notebook{grid-template-columns:1fr}.chat-panel{height:calc(100dvh - 240px);min-height:420px}.chat-stream{padding:15px}.chat-message{max-width:92%}.chat-composer{padding:10px}.chat-composer .btn{padding:10px}.locations-list{grid-template-columns:1fr}.map-box{height:350px}.topbar-right{gap:8px}.topbar-right .btn{font-size:10px;padding:8px}.sidebar{overflow-y:auto}.sidebar-bottom{margin-top:15px}.status-tabs .segmented{width:100%}.status-tabs .segmented button{flex:1;padding:10px 7px}.permission-matrix{font-size:10px}.permission-matrix th,.permission-matrix td{padding:8px 5px}.map-small{height:240px}#popup-stack{left:15px;right:15px;bottom:15px}.notification-popup{max-width:none}.alert-line{padding:13px;gap:10px}.alert-line .btn{font-size:10px;padding:7px}.page-head{flex-wrap:wrap}.page-head h1{font-size:27px}.prototype{margin-bottom:18px}}

.map-box,.map-small{background:#dce8ed}.map-place-label{font-size:10px;color:#73826a;text-shadow:0 1px 0 #fff,1px 0 0 #fff;white-space:nowrap;pointer-events:none}.leaflet-control-attribution{font-size:9px!important}

/* 0.3: status colors are independent from the existing completed palette. */
.note-card.note-active{background:#e7f4e6;border-color:#79a874}.note-card.note-expired{background:#fde7e5;border-color:#cc7770}.note-active>.row>.tag{background:#cce9c8;color:#24572c}.note-expired>.row>.tag{background:#f3c1bb;color:#862a23}.note-filters,.tag-filters{flex-wrap:wrap;gap:18px}.note-filters label,.tag-filters label{white-space:nowrap}.nav-entry{display:flex;align-items:center;gap:2px;position:relative}.nav-entry>button{flex:1;min-width:0}.menu-help{position:relative;display:flex}.nav .info-trigger{border:1px solid #b4c5a3;border-radius:50%;padding:0;width:21px;height:21px;display:grid;place-items:center;font:italic bold 12px Georgia;color:#45633e;background:#edf3e5}.info-tip{display:none;position:absolute;z-index:1000;left:28px;top:-8px;width:230px;background:#214e46;color:#fff;padding:12px;border-radius:10px;font-size:12px;line-height:1.5;box-shadow:0 4px 20px #0003}.menu-help:hover .info-tip,.menu-help:focus-within .info-tip,.menu-help.show .info-tip{display:block}.sidebar{overflow:visible}.nav-entry>button.active{background:#e3ebd7}.leaflet-control-layers{max-width:190px;font-size:11px}.leaflet-control-layers label{display:block}.leaflet-control-layers input{width:auto}.status-tabs .segmented{flex-wrap:wrap}@media(max-width:800px){.info-tip{left:auto;right:0;top:26px}.sidebar .nav-entry{width:100%}}

.nav-entry>button.active{color:#214e46}.client-group th{background:#edf2e5;color:#315944;text-align:left}

.topbar{padding-top:env(safe-area-inset-top,0px);min-height:calc(74px + env(safe-area-inset-top,0px))}.content{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}.chat-composer{padding-bottom:max(15px,env(safe-area-inset-bottom,0px))}
