:root{--navy:#140254;--navy-deep:#0c0133;--blue:#0eacd8;--green:#88bf40;--red:#d80e5c;--yellow:#d8b00e;--ink:#16202a;--muted:#5b6b78;--line:#e3e9ee;--bg:#f6f8fa;--card:#fff}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--navy)}h1,h2,h3{margin:0 0 .5rem;font-weight:600}.app{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--navy);color:#fff;padding:1.25rem 1rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar .brand{font-weight:700;font-size:1.15rem;letter-spacing:.04em}.sidebar .brand small{display:block;font-weight:400;font-size:.68rem;font-style:italic;color:#b9c6ec;letter-spacing:.02em;margin:.2rem 0 1.4rem}.sidebar .brand img{width:100%;max-width:132px;display:block;margin:0 auto .5rem}.sidebar a{display:block;color:#dbe7f5;text-decoration:none;padding:.55rem .6rem;border-radius:8px;margin-bottom:.2rem;font-size:.95rem}.sidebar a.active,.sidebar a:hover{background:hsla(0,0%,100%,.14);color:#fff}.content{flex:1 1;padding:1.5rem 2rem;max-width:1200px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:1rem}.row{display:flex;gap:1rem;flex-wrap:wrap}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);font-size:.92rem}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.badge,th{color:var(--muted);font-weight:600}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.74rem;background:#eef2f6}.badge.green{background:#e9f6d9;color:#4e7a1a}.badge.blue{background:#dcf4fb;color:#0a7c9c}.badge.red{background:#fbe0ea;color:#a80b47}.badge.yellow{background:#f9f0cf;color:#8a6f08}.btn{display:inline-block;border:none;border-radius:8px;padding:.5rem .9rem;font-weight:600;cursor:pointer;font-size:.9rem;text-decoration:none}.btn.primary{background:var(--blue);color:#fff}.btn.danger{background:var(--red);color:#fff;font-size:1.05rem;padding:.75rem 1.3rem}.moveout-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#fdeef3;border:2px solid var(--red);border-radius:14px;padding:1rem 1.25rem;margin-bottom:1.25rem}.moveout-banner p{margin:.25rem 0 0;font-size:.9rem;color:#7a1338}.btn.ghost{background:#eef2f6;color:var(--ink)}.muted{color:var(--muted)}.cal{overflow-x:auto}.cal table{min-width:720px}.cal .slotcell{font-weight:600;white-space:nowrap;padding-right:1rem}.bar{display:inline-block;border-radius:6px;padding:.15rem .5rem;margin:.1rem 0;font-size:.78rem;color:#fff;white-space:nowrap}.bar.confirmed{background:var(--green)}.bar.hold{background:var(--yellow);color:#4a3c00}.bar.occupied{background:var(--blue)}.bar.maintenance{background:var(--muted)}.bar.turnover{background:var(--red)}.portal{max-width:820px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}.portal-header .portal-brand img{height:46px;display:block}.portal-header nav a{margin-left:1.1rem;text-decoration:none;font-weight:600;font-size:.92rem}.portal-main{flex:1 1;padding:1.5rem 1.25rem}.portal-footer{padding:1.25rem;text-align:center;color:var(--muted);font-size:.8rem}.portal-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.25rem;margin-bottom:1rem}.portal-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1rem}.portal-grid .portal-card{margin:0}.portal-card .big{font-size:1.35rem;font-weight:700;color:var(--navy);margin:.25rem 0}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:.4rem 0;border-bottom:1px solid var(--line)}.checklist li.done{color:var(--muted)}.checklist li span{display:inline-block;width:1.4rem;color:var(--green);font-weight:700}.notice{padding:.7rem .9rem;border-radius:10px;margin:.75rem 0;font-size:.9rem}.notice.green{background:#e9f6d9;color:#4e7a1a}.notice.red{background:#fbe0ea;color:#a80b47}@media (max-width:640px){.portal-grid{grid-template-columns:1fr}}.apply{max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.apply-header{text-align:center;margin-bottom:1.5rem}.apply-header img{height:120px}.apply-header h1{margin-top:.5rem}.apply-form fieldset{border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:1.1rem}.apply-form legend{font-weight:600;color:var(--navy);padding:0 .4rem}.field{display:block;margin-bottom:.8rem}.field>span{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.25rem}.field em{color:var(--red);font-style:normal}.apply-form input,.apply-form select{width:100%;padding:.55rem .6rem;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-family:inherit;background:#fff}.apply-form .grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 1rem;gap:0 1rem}.check,.radio{display:flex;align-items:flex-start;gap:.5rem;margin:.4rem 0;font-size:.92rem;line-height:1.4}.check input,.radio input{width:auto;margin-top:.2rem;flex-shrink:0}@media (max-width:560px){.apply-form .grid2{grid-template-columns:1fr}}.lease-doc{line-height:1.55;max-height:460px;overflow-y:auto}.lease-print .lease-doc{max-height:none;overflow:visible}.lease-doc h1{font-size:1.3rem}.lease-doc h2{font-size:1rem;margin-top:1.1rem;color:var(--navy)}.lease-doc table.money{width:auto;margin:.5rem 0}.lease-doc table.money td{border:none;padding:.2rem .8rem .2rem 0}.lease-doc hr{border:none;border-top:2px solid var(--line);margin:1.5rem 0}.sig-img{display:block;max-width:240px;max-height:90px;margin:.3rem 0}.sig-date{display:block;font-size:.8rem;color:var(--muted)}.sigpad canvas{width:100%;height:160px;border:1px dashed var(--navy);border-radius:10px;touch-action:none;background:#fff;display:block}.sigpad-row{display:flex;justify-content:space-between;align-items:center;margin-top:.4rem}.lease-print{max-width:760px;margin:0 auto;padding:2rem 1.5rem}@media print{.no-print,.portal-footer,.portal-header,.sidebar{display:none!important}.lease-print,.portal,.portal-main{max-width:none;margin:0;padding:0}.lease-doc{max-height:none;overflow:visible}body{background:#fff}}@media (max-width:720px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:static;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.6rem .75rem;overflow:visible}.sidebar .brand{width:100%;margin:0 0 .4rem;text-align:center}.sidebar .brand img{max-width:84px;margin:0 auto}.sidebar .brand small{display:none}.sidebar a{margin:0;flex:1 1 auto;text-align:center;white-space:nowrap;font-size:.85rem;padding:.5rem .55rem;background:hsla(0,0%,100%,.1)}.content{padding:1rem .75rem}}.tickbox{background:none;border:none;cursor:pointer;font-weight:700;color:var(--green);width:1.4rem;padding:0;font-size:1rem}.checklist li.done .tickbox{color:var(--muted)}.landing{min-height:100vh}.landing-hero{background:var(--navy);color:#fff;text-align:center;padding:3rem 1.5rem 3.25rem}.landing-hero img{width:190px;max-width:45%;display:block;margin:0 auto 1rem}.landing-hero h1{font-size:2.4rem;margin:0;letter-spacing:.04em}.landing-hero .tag{font-style:italic;color:#b9c6ec;margin:.3rem 0 1.1rem}.landing-hero .sub{max-width:520px;margin:0 auto 1.6rem;color:#e5eaf7;font-size:1.05rem}.cta-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn.big{padding:.85rem 1.6rem;font-size:1.02rem}.landing-hero .btn.ghost{background:hsla(0,0%,100%,.14);color:#fff}.landing-main{max-width:780px;margin:0 auto;padding:2rem 1.25rem 1rem}.landing-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.5rem;margin-bottom:1.25rem}.landing-card h2{color:var(--navy)}.landing-card ul{margin:.5rem 0;padding-left:1.2rem;line-height:1.7}.landing-card ul.two-col{column-count:2;column-gap:2rem}.cta-card,.landing-footer{text-align:center}.landing-footer{padding:1.5rem;color:var(--muted);font-size:.9rem}@media (max-width:560px){.landing-hero h1{font-size:1.9rem}.landing-card ul.two-col{column-count:1}}body,html{max-width:100%}body{overflow-x:hidden}@media (max-width:720px){h1{font-size:1.5rem}h2{font-size:1.1rem}.card table,.card tbody,.card td,.card th,.card thead,.card tr,.portal-card table,.portal-card tbody,.portal-card td,.portal-card th,.portal-card thead,.portal-card tr{display:block;width:auto}.card thead,.portal-card thead{display:none}.card tbody tr,.portal-card tbody tr{border:1px solid var(--line);border-radius:12px;background:#fff;padding:.65rem .85rem;margin-bottom:.7rem}.card tbody tr:last-child,.portal-card tbody tr:last-child{margin-bottom:0}.card tbody tr.is-overdue{border-color:var(--red);background:#fff7fa}.card tbody td,.portal-card tbody td{border:none;padding:.22rem 0;font-size:.9rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.card tbody td:before,.portal-card tbody td:before{content:attr(data-label);color:var(--muted);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;flex:0 0 auto;text-align:left}.card tbody td.row-action,.portal-card tbody td.row-action{display:block;margin-top:.5rem}.card tbody td.row-action .btn{width:100%}.card tbody td:empty{display:none}.row{flex-direction:column;align-items:stretch;gap:.6rem}.row>*{width:100%}.field,.field input,.field select,input,select,textarea{width:100%!important;max-width:100%}.btn{width:100%;text-align:center}.tickbox,td .btn,td form{width:auto;display:inline-block}.checklist li .tickbox{width:1.6rem}.card,.landing-card,.portal-card{padding:1rem .9rem}.moveout-banner{flex-direction:column;align-items:stretch;text-align:left}.moveout-banner .btn{width:100%}.sigpad canvas{height:190px}.landing-hero{padding:2rem 1rem 2.25rem}.landing-hero img{width:130px}.cta-row .btn{width:100%}.lease-doc{max-height:60vh}}@media (max-width:400px){.sidebar a{flex:1 1 45%;font-size:.8rem}}.contact-actions{display:inline-flex;gap:.4rem;flex-wrap:wrap}.contact-actions .btn{padding:.35rem .7rem;font-size:.85rem}@media (max-width:720px){.contact-actions{display:flex;width:100%}.contact-actions .btn{flex:1 1 auto}}.note-card{border-left:4px solid var(--navy)}.note-by{margin:.6rem 0 0;font-style:italic;font-size:.88rem}.note-review{border-top:1px solid var(--line);padding-top:.9rem;margin-top:.9rem}.note-review:first-of-type{border-top:none;padding-top:0;margin-top:0}