:root{--g:#0F2E28;--g2:#315543;--c:#F5F2EC;--gold:#C9A46A;--line:#E6DED2;--mut:#6C7773;--white:#fff;--soft:#FBF9F5;--danger:#9b4b42;--ok:#2f6d55;--shadow:0 12px 35px rgba(15,46,40,.08)}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--c);color:#1c3832}h1,h2,h3{font-family:Georgia,serif;color:var(--g)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.auth{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:var(--g);padding:7vw;gap:8vw;align-items:center}.auth-brand{color:#fff}.auth-brand img{width:280px;max-width:80%}.auth-brand h1{color:var(--gold);font-size:56px;margin:18px 0 8px}.auth-brand p{font-size:18px;line-height:1.6;max-width:520px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.auth-card{max-width:440px;width:100%}.auth-card h2{font-size:32px}.auth-card label,.form label{display:block;font-size:12px;font-weight:700;color:#53635f;margin:12px 0}.auth-card input,.form input,.form select,.form textarea,.condo-select select,.filters input,.filters select{width:100%;padding:12px;border:1px solid #d8d0c5;border-radius:10px;background:#fff;color:#183a32}.form textarea{min-height:90px}.btn{border:0;border-radius:10px;background:var(--g);color:#fff;padding:12px 16px;font-weight:700}.btn.gold{background:var(--gold);color:var(--g)}.btn.sec{background:#fff;color:var(--g);border:1px solid var(--g)}.btn.danger{background:#fff;color:var(--danger);border:1px solid #d7aaa5}.linkbtn,.mini{border:0;background:transparent;color:var(--g2);font-weight:700;padding:10px 0}.shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}aside{background:var(--g);color:#fff;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{text-align:center;border-bottom:1px solid #ffffff1c;padding-bottom:18px}.logo img{width:155px;max-height:75px;object-fit:contain}.logo span{display:block;color:var(--gold);letter-spacing:.24em;font-size:9px}.condo-select{padding:20px 5px 10px}.condo-select small{color:#b9c7c3;font-size:9px;letter-spacing:.12em}.condo-select select{margin-top:7px;background:#173b34;color:#fff;border-color:#31564e}.condo-select .mini{color:var(--gold);font-size:11px}nav{display:grid;gap:4px;overflow:auto;padding:8px 0}nav button{border:0;background:transparent;color:#dfe8e5;text-align:left;padding:10px 12px;border-radius:9px;font-size:13px}nav button:hover,nav button.on{background:#ffffff12;color:#fff}.aside-foot{margin-top:auto;border-top:1px solid #ffffff1c;padding-top:10px;display:grid}.aside-foot .mini{color:#c8d4d0;text-align:left}main{min-width:0}header{height:96px;padding:22px 32px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);background:#f8f5ef;position:sticky;top:0;z-index:5}header h1{margin:3px 0;font-size:29px}header small{font-size:9px;letter-spacing:.14em;color:var(--gold);font-weight:800}#mobileMenu{display:none}.bell{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px}.bell span{font-size:10px;background:var(--gold);border-radius:99px;padding:2px 5px}#content{padding:28px 32px 70px;max-width:1500px}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:0 6px 24px rgba(15,46,40,.04)}.card h2,.card h3{margin-top:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.stat b{font:30px Georgia,serif;color:var(--g)}.stat span{display:block;font-size:11px;color:var(--mut);margin-top:5px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day{min-height:55px;border:1px solid var(--line);border-radius:9px;padding:7px;font-size:11px}.day.muted{opacity:.35}.day.today{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;margin:2px}.list{display:grid;gap:9px}.row{border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;display:flex;gap:12px;align-items:flex-start}.row .grow{flex:1}.row b{color:var(--g);font-size:13px}.row p{margin:5px 0 0;color:var(--mut);font-size:12px;line-height:1.45}.chip{display:inline-block;padding:5px 8px;border-radius:99px;background:#edf3f0;color:var(--g2);font-size:10px;font-weight:800}.chip.warn{background:#f5ebda;color:#80602f}.chip.danger{background:#f4e5e2;color:#8c463e}.chip.ok{background:#e7f1ec;color:#2f6d55}.toolbar{display:flex;gap:9px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .actions{display:flex;gap:8px;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module-card{min-height:170px;display:flex;flex-direction:column}.module-card .icon{font-size:28px}.module-card p{font-size:12px;color:var(--mut);line-height:1.5}.module-card .btn{margin-top:auto;align-self:flex-start}.empty{text-align:center;padding:45px 20px;color:var(--mut)}.form .grid2{gap:12px}.form .hint{font-size:11px;color:var(--mut);line-height:1.45}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal{position:fixed;inset:0;background:#0f2e2870;display:grid;place-items:center;padding:18px;z-index:50}.modalbox{background:#fff;border-radius:18px;padding:24px;max-width:720px;width:100%;max-height:90vh;overflow:auto;position:relative}.x{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:26px;color:var(--mut)}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--mut);font-size:10px;text-transform:uppercase}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters>*{min-width:130px}.report-head{display:none}#toast{position:fixed;right:20px;bottom:20px;z-index:100}.toast{background:var(--g);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);margin-top:8px;font-size:12px}.qrbox{background:#fff;border:1px dashed var(--gold);border-radius:12px;padding:15px;word-break:break-all}.section-title{margin:28px 0 12px}.muted{color:var(--mut)}@media(max-width:900px){.shell{grid-template-columns:1fr}aside{position:fixed;z-index:20;left:-270px;width:255px;transition:.2s}.shell.menu-open aside{left:0}#mobileMenu{display:block;border:0;background:transparent;font-size:22px}.hero-grid,.grid3,.grid2,.stats{grid-template-columns:1fr 1fr}header{padding:18px;height:84px}#content{padding:20px}}@media(max-width:600px){.auth{grid-template-columns:1fr;padding:30px 18px}.auth-brand{display:none}.hero-grid,.grid3,.grid2,.stats{grid-template-columns:1fr}.calendar .day{min-height:43px;padding:4px}.toolbar{align-items:stretch}.toolbar .actions{width:100%}.toolbar .btn{flex:1}header h1{font-size:23px}}
@media print{@page{size:A4;margin:14mm}aside,header,.no-print,.toolbar,#toast{display:none!important}.shell{display:block}#content{padding:0}.card{box-shadow:none;break-inside:avoid}.report-head{display:block;border-bottom:2px solid var(--g);padding-bottom:12px;margin-bottom:18px}.report-head img{width:150px}.table{font-size:10px}body{background:#fff}}
