:root{--ink:#182725;--ink-2:#3e504c;--quiet:#7e8b87;--paper:#fff;--canvas:#f3f4f0;--hairline:#dde3df;--brand:#194842;--brand-2:#2d7064;--brass:#a9854e;--shadow-1:0 1px 2px rgba(20,40,37,.035),0 8px 28px rgba(20,40,37,.045);--shadow-2:0 2px 4px rgba(20,40,37,.04),0 18px 50px rgba(20,40,37,.075);--radius:11px}
html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);font-family:Inter,"Noto Sans JP","Yu Gothic UI","Yu Gothic",sans-serif;letter-spacing:.015em}
.sidebar{width:246px;padding:30px 18px 20px;background:#143936;border-right:1px solid rgba(255,255,255,.06);box-shadow:none}.brand{padding:0 10px 34px;gap:13px}.brand .mark{width:42px;height:42px;border-radius:8px;background:#5cbba0;color:#fff;box-shadow:none}.brand b{font-size:17px;letter-spacing:.16em}.brand small{font-size:9px;letter-spacing:.26em;color:#9db4af;opacity:1}.nav{position:relative;min-height:45px;margin:1px 0;padding:12px 13px;border-radius:7px;color:#bacbc7;font-size:12px;transition:background .14s,color .14s}.nav span{color:#86aaa2}.nav:hover{background:rgba(255,255,255,.055);color:#fff}.nav.active{background:#214b47;color:#fff;box-shadow:inset 2px 0 #69c3aa}.nav.active span{color:#7fd0ba}.nav i{background:#2c5c56;color:#d8e6e2}.nav i.warn{background:#a66f39;color:#fff}.user{border-top-color:rgba(255,255,255,.1)}
main{margin-left:246px;width:calc(100% - 246px);padding:28px 38px 64px;max-width:1760px}header{min-height:54px;margin-bottom:25px;padding:0 0 17px;border-bottom:1px solid #dfe4e1}header h1{font-size:22px;letter-spacing:.045em}.icon-btn{border-color:#d9e0dc;border-radius:7px;box-shadow:none}.icon-btn:hover{border-color:#9db9b0;background:#fafcfb}
.page{--page-accent:#356e63}.page#contracts{--page-accent:#496b85}.page#payments{--page-accent:#936d3e}.page#moveouts{--page-accent:#65637e}.page#ownerStatements{--page-accent:#805f50}.page#audit{--page-accent:#536d68}.page#migration{--page-accent:#526f80}
.page>.section-head{position:relative;min-height:102px;margin:0 0 22px;padding:24px 25px 22px 28px;align-items:center;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:hidden}.page>.section-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--page-accent)}.page>.section-head:after{content:"";position:absolute;right:26px;bottom:19px;width:42px;height:1px;background:var(--brass);opacity:.65;pointer-events:none}.page>.section-head .eyebrow{color:var(--page-accent);font-size:9px;font-weight:700;letter-spacing:.12em}.page>.section-head h2{margin-top:6px;font-size:25px;font-weight:700;letter-spacing:.045em}.page>.section-head .heading-note{margin:7px 0 0;color:var(--quiet);font-size:10px}
.panel,.stats article,.property-cards article,.renewal-stats article,.moveout-stats article,.owner-summary article,.audit-stats article{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-1)}.panel{padding:20px}.panel-head{align-items:center}.panel-head h2{font-size:16px;letter-spacing:.035em}.panel-head p{margin-top:4px;color:var(--quiet);line-height:1.6}
.stats,.property-cards,.renewal-stats,.moveout-stats,.owner-summary,.audit-stats{gap:11px}.stats article,.property-cards article,.renewal-stats article,.moveout-stats article,.owner-summary article,.audit-stats article{position:relative;padding:18px 19px;overflow:hidden}.stats article:after,.renewal-stats article:after,.moveout-stats article:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;background:var(--page-accent);opacity:.55}.stats strong,.renewal-stats strong,.moveout-stats strong{font-family:Inter,"Noto Sans JP",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.stat-head,.renewal-stats span,.moveout-stats span{font-weight:600;letter-spacing:.035em}
.property-cards article{transition:border-color .14s,box-shadow .14s,transform .14s}.property-cards article:hover{border-color:#a9bdb6;box-shadow:var(--shadow-2);transform:translateY(-2px)}.type-icon{border-radius:8px;background:#e4f0ec}.type-icon.office{background:#e7ebf0}.type-icon.parking{background:#f1eadf}
.primary,.secondary,.doc-btn,.building-detail-btn,.building-payment-btn,.text-btn{font-family:inherit;letter-spacing:.02em;transition:background .14s,border-color .14s,color .14s,transform .14s}.primary{border:1px solid #143d39;background:#194842;color:#fff;border-radius:7px;box-shadow:0 5px 14px rgba(25,72,66,.13)}.primary:hover{background:#225a52;transform:translateY(-1px)}.secondary{border:1px solid #ccd7d2;background:#fff;color:#294c46;border-radius:7px;box-shadow:none}.secondary:hover,.doc-btn:hover,.building-detail-btn:hover,.building-payment-btn:hover{border-color:#7fa397;background:#f7faf8}.text-btn{color:#2f6e61}.text-btn:hover{color:#164a42}
input,select,textarea{border-color:#d5ddd9!important;border-radius:7px!important;background:#fff!important;color:var(--ink)!important;transition:border-color .14s,box-shadow .14s}input:focus,select:focus,textarea:focus{outline:0;border-color:#6f9c90!important;box-shadow:0 0 0 3px rgba(52,111,98,.09)}input::placeholder{color:#a1aaa7}.search-box{border-radius:7px!important;background:#fff;box-shadow:none}
.filterbar,.renewal-search-panel,.moveout-tools,.audit-tools,.building-toolbar,.vacancy-search-row{background:#fafbf9}.renewal-search-panel,.moveout-tools{border-color:#dfe5e1}.period-search{border-top-color:#e4e8e5}.free-period-label{color:#264f48}
.table-full{padding:10px 17px}.building-table,.renewal-table-wrap,.audit-table-wrap,.ledger-table-wrap{border:1px solid #e2e7e4;border-radius:8px;overflow:auto}table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}thead th{padding-top:12px;padding-bottom:12px;background:#f5f7f5;color:#6e7d79;border-top:0;border-bottom:1px solid #dfe5e1;font-size:9px;font-weight:700;letter-spacing:.075em}thead th:first-child{border-radius:7px 0 0 0}thead th:last-child{border-radius:0 7px 0 0}tbody tr{transition:background .12s}tbody tr:hover{background:#f8faf8}td{border-bottom-color:#e8ece9}.building-name b,.building-info-link{letter-spacing:.02em}.building-info-link,.building-owner-link{text-decoration:none}.building-info-link:hover,.building-owner-link:hover{text-decoration:underline;text-underline-offset:3px}
.pill,.tax-pill,.days-left,.room-status-pill,.date{border:1px solid transparent;border-radius:999px;box-shadow:none;font-weight:700}.pill.green{border-color:#cae4da}.pill.blue{border-color:#d2dfef}.pill.amber{border-color:#ecd8b6}.pill.red{border-color:#efcecc}
.combined-property-tabs,.building-tabs,.owner-period-tabs,.tabs{gap:25px;border-bottom-color:#dfe5e1}.combined-property-tabs button,.building-tabs button,.owner-period-tabs button,.tabs button{padding:11px 1px 10px;font-size:10px;letter-spacing:.035em}.combined-property-tabs button.active,.building-tabs button.active,.owner-period-tabs button.active,.tabs button.active{color:var(--page-accent);border-bottom-color:var(--page-accent)}
.renewal-summary-inline,.moveout-summary-inline{border-color:#d9e1dd;border-radius:var(--radius);box-shadow:var(--shadow-2)}.renewal-summary-total,.moveout-summary-total{background:#f2f6f4}.renewal-stats article.renewal-summary-link.is-active,.moveout-stats article.moveout-summary-link.is-active{background:#f8fbf9;border-color:#9eb8b0}
.alert{border-color:#eadcc3;background:#fcf8ef;border-radius:8px}.turnover-note,.doc-source-note,.combined-tax-note{border-left:2px solid var(--page-accent);background:#f5f8f6}.empty-state{border:1px dashed #cfdad5;border-radius:8px;background:#fafbf9}
dialog{border:1px solid rgba(20,57,54,.14);border-radius:12px;box-shadow:0 30px 90px rgba(13,38,35,.27)}dialog::backdrop{background:rgba(13,36,33,.62);backdrop-filter:blur(4px)}dialog .close{width:32px;height:32px;border-radius:50%;color:#677671}dialog .close:hover{background:#edf2ef}.dialog-actions{padding-top:4px;border-top:1px solid #edf0ee}
#toast{border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#183f3b;box-shadow:0 16px 42px rgba(11,35,32,.25)}
@media(max-width:1050px){.sidebar{width:78px}.brand{padding-left:0}main{margin-left:78px;width:calc(100% - 78px)}}
@media(max-width:700px){main{margin-left:0;width:100%;padding:18px 13px 45px}.page>.section-head{min-height:auto;padding:18px 16px}.page>.section-head h2{font-size:21px}.page>.section-head:after{display:none}.panel{padding:15px;border-radius:9px}.stats article,.property-cards article,.renewal-stats article,.moveout-stats article{padding:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
