:root{--paper:#f7f6f2;--white:#fff;--ink:#252c29;--muted:#7b8078;--gold:#a48a59;--line:#e5e5dd;--green:#314d41;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 'Segoe UI',Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;background:var(--green);color:white;border:1px solid var(--green);padding:12px 21px;cursor:pointer;border-radius:5px;font-weight:600;line-height:1.5;transition:background .2s}
button:hover,.button:hover{background:#223b30}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
input,select,textarea{display:block;width:100%;background:#fff;border:1px solid #dcded5;border-radius:5px;padding:11px 12px;color:var(--ink);margin-top:7px}
input:focus,select:focus,textarea:focus{outline:2px solid #ab9568;outline-offset:1px}
input[type=checkbox]{display:inline-block;width:17px;height:17px;margin:0 8px 0 0;accent-color:var(--green);vertical-align:middle}
label{display:block;font-size:13px;font-weight:600}
form>label{margin-bottom:18px}
h1,h2,h3,p{margin-top:0}
h1{font:44px/1.16 var(--serif);letter-spacing:-1.6px;margin-bottom:14px}
h2{font:28px/1.25 var(--serif);letter-spacing:-.5px;margin-bottom:16px}
h3{font:22px/1.3 var(--serif);margin-bottom:9px}
p{color:var(--muted)}
small{font-size:11px;color:var(--muted)}
.eyebrow{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;font:23px var(--serif);letter-spacing:-.5px}
.brand small{display:block;font:8px 'Segoe UI',sans-serif;letter-spacing:2px;margin-top:7px;color:var(--muted)}
.brand-icon{display:inline-flex;width:40px;height:44px;align-items:center;justify-content:center;font:31px var(--serif);border:1px solid var(--gold);color:var(--gold)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:#fff;border-right:1px solid var(--line);padding:34px 24px;z-index:10}
.nav-label{font-size:9px;letter-spacing:2px;margin:46px 12px 15px}
.sidebar nav{display:grid;gap:7px}
.sidebar nav a{padding:12px 15px;border-radius:5px;color:#747b73;font-size:13px}
.sidebar nav a:before{content:'◈';margin-right:12px;font-size:13px;color:#9a9e95}
.sidebar nav a.active{background:#eef1ea;color:var(--green);font-weight:600}
.sidebar nav a:hover{background:var(--paper)}
.sidebar-bottom{position:absolute;bottom:28px;left:24px;right:24px;display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);padding-top:23px;font-size:12px}
.sidebar-bottom small{display:block}
.avatar{background:#ece9e1;color:var(--gold);border-radius:50%;padding:9px 13px;font-weight:600}
.logout{padding:5px 9px;background:none;color:var(--muted);border:none;font-size:18px}
.main{margin-left:250px}
.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 42px;font-size:9px;letter-spacing:1.3px;color:#92978e}
.topbar b{color:#555f54;font-weight:500;margin-left:10px}
.tag{font-size:9px;letter-spacing:1px;border:1px solid var(--line);border-radius:20px;padding:6px 12px;white-space:nowrap;color:var(--muted)}
.content{max-width:1600px;margin:auto;padding:40px 42px 65px}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:8px 0 32px}
.page-heading p:last-child{margin-bottom:0}
.page-heading .button{flex-shrink:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px}
.stat{border:1px solid var(--line);background:#fff;border-radius:7px;padding:22px 25px}
.stat>span{color:#72796f;font-size:12px}
.stat strong{display:block;font:38px var(--serif);margin:12px 0 16px}
.stat small{font-size:8px;letter-spacing:1.4px}
.studio-banner{display:flex;justify-content:space-between;align-items:center;min-height:260px;overflow:hidden;background:#eaece3;border:1px solid #e2e5d8;padding:33px 38px;border-radius:7px;margin-bottom:36px;position:relative}
.studio-banner h2{font-size:34px}
.text-link{font-size:12px;color:var(--green);font-weight:600}
.building-graphic{height:210px;width:330px;position:relative;transform:skewY(-7deg);margin-right:25px;opacity:.8}
.building-graphic i{position:absolute;inset:35px 30px 5px 45px;border:1px solid #a6ae98;background:repeating-linear-gradient(90deg,transparent 0,transparent 42px,#a6ae98 43px,transparent 44px),repeating-linear-gradient(0deg,#d5dacb 0,#d5dacb 35px,#b0b8a4 36px,#e6e9df 37px)}
.building-graphic b{position:absolute;left:0;top:0;width:110px;height:165px;background:#c5cdb8;border:1px solid #a6ae98;transform:skewY(18deg)}
.building-graphic span{position:absolute;left:19px;top:19px;width:70px;height:100px;background:repeating-linear-gradient(90deg,#7d8d78 0,#7d8d78 8px,#c5cdb8 9px,#c5cdb8 15px);transform:skewY(18deg)}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 18px}
.section-heading h2{font-size:25px;margin:0}
.muted{color:var(--muted);font-size:12px;font-weight:400}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:7px;background:white}
table{border-collapse:collapse;width:100%;min-width:580px;text-align:left}
th{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#93998e;font-weight:600;background:#fcfcf9}
th,td{padding:18px 23px;border-bottom:1px solid var(--line)}
tr:last-child td{border-bottom:0}
td{font-size:12px}
td strong{font-size:13px;font-weight:600}
td small{display:block;margin-top:4px}
.status{padding:4px 11px;border-radius:14px;font-size:10px}
.status.active{background:#edf3ea;color:#557347}
.status.expired{background:#f4eee2;color:#9c7e42}
.status.revoked{background:#f6e8e5;color:#a16152}
.row-actions{display:flex;align-items:center;gap:15px}
.link{background:none;border:0;padding:0;color:var(--green);font-size:12px}
.link:hover{background:none}
.danger{color:#a35446}
.panel{padding:30px;background:#fff;border:1px solid var(--line);border-radius:7px;margin-top:28px;scroll-margin-top:25px}
.panel.compact{padding:22px 26px;margin-top:18px}
.panel summary{cursor:pointer;font-weight:600}
.panel summary .muted{margin-left:14px}
details[open] summary{margin-bottom:24px}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:end}
.form-grid .full{grid-column:1/-1}
.form-grid button{justify-self:start;align-self:end}
.form-grid label{margin:0}
.checks{display:flex;flex-wrap:wrap;gap:17px;margin:25px 0}
.check{margin:20px 0}
.checks label,.check{font-weight:400}
.toolbar{display:flex;gap:20px;align-items:center;margin-bottom:25px}
.toolbar input{max-width:490px;margin:0;background:#fff}
.toolbar span{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}
.project-grid,.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.project-card,.asset-card{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;min-width:0}
.project-card{transition:transform .2s,box-shadow .2s}
.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #283d2910}
.project-cover{height:220px;position:relative;background:#e4e5db}
.project-cover img,.asset-card img{width:100%;height:240px;object-fit:cover;display:block}
.project-cover img{height:100%}
.plot-badge{position:absolute;left:17px;bottom:16px;font-size:9px;letter-spacing:1px;padding:6px 10px;border-radius:3px;background:#ffffffed}
.card-body{padding:23px}
.card-body .eyebrow{font-size:9px;margin-bottom:8px;letter-spacing:1.2px}
.card-body p{font-size:12px;margin-bottom:17px}
.card-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;font-size:10px;color:var(--muted)}
.card-footer span:last-child{color:var(--green)}
.placeholder-building{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(140deg,#e8e9df,#d3dacb);color:#88937e}
.placeholder-building span{font-size:8px;letter-spacing:3px}
.placeholder-building b{font:85px var(--serif);line-height:1.3;font-weight:400}
.placeholder-building small{font-size:7px;letter-spacing:2px}
.empty{text-align:center;border:1px dashed #d3d7c9;border-radius:8px;padding:55px 20px;margin:25px 0;background:#f9faf6}
.empty-icon{color:var(--gold);font:50px var(--serif);margin-bottom:15px}
.empty h2{font-size:27px}
.empty p{margin-bottom:0}
.notice{padding:16px 20px;background:#e9f1e5;color:#3f6337;border:1px solid #d2e2ca;border-radius:6px;margin:20px 0}
.notice.error{background:#fff0e9;color:#944a31;border-color:#ebd5c7}
.asset-card video{width:100%;height:240px;background:#202821}
.pdf-tile{height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:#eceee6;color:var(--green);font-size:12px}
.pdf-tile span{border:1px solid #b2b8a7;padding:20px 17px;font:24px var(--serif)}
.asset-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:18px 0 25px;max-height:520px;overflow:auto}
fieldset{border:1px solid var(--line);border-radius:6px;padding:18px;min-width:0}
legend{font-size:12px;font-weight:600;padding:0 7px}
fieldset label{display:flex;align-items:center;font-weight:400;margin:12px 0}
fieldset label small{display:block}
.assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.link-box{background:#e9eee2;border:1px solid #d8dfcf;padding:23px;border-radius:7px;margin-bottom:25px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:15px}
.link-box small{grid-column:1/-1}
.public-main{max-width:1400px;margin:auto;padding:35px 55px}
.auth-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center;max-width:1140px;margin:65px auto}
.auth-intro h1{font-size:68px;line-height:1.06;letter-spacing:-3px}
.auth-intro h1 em{font-weight:400;color:var(--gold)}
.auth-intro>p{max-width:360px}
.auth-card{background:#fff;padding:42px;border:1px solid var(--line);border-radius:9px;max-width:520px;width:100%;margin:40px auto}
.auth-card h1{font-size:39px}
.auth-card h2{font-size:35px}
.auth-card form{margin:28px 0}
.auth-card form button{width:100%}
.auth-card>small{display:block;border-top:1px solid var(--line);padding-top:20px}
.architecture-art{height:180px;position:relative;overflow:hidden;margin-top:28px;border-bottom:1px solid #d1d6c6}
.architecture-art i{position:absolute;left:20px;bottom:0;width:170px;height:150px;border:1px solid #bfc7b2;background:repeating-linear-gradient(90deg,transparent 0,transparent 26px,#c3cbb8 27px,transparent 28px);transform:skewY(-10deg)}
.architecture-art b{position:absolute;left:190px;bottom:0;width:95px;height:120px;background:#dce1d3;border:1px solid #bfc7b2;transform:skewY(17deg)}
.architecture-art span{position:absolute;bottom:15px;right:0;font-size:7px;letter-spacing:2px;writing-mode:vertical-rl;color:var(--gold)}
.presentation-hero{text-align:center;padding:80px 20px 65px;max-width:900px;margin:auto}
.presentation-hero h1{font-size:64px}
.presentation-hero .tag{display:inline-block;margin-top:15px}
.filter-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:30px}
.tab{background:none;color:var(--muted);border:1px solid transparent;padding:8px 15px;border-radius:20px;font-size:12px}
.tab:hover{color:white}
.tab.active{background:var(--green);color:white}
.presentation-grid .asset-card img,.presentation-grid .asset-card video,.presentation-grid .pdf-tile{height:300px}
.image-button{display:block;border:0;padding:0;width:100%;background:none;border-radius:0}
.contact-panel{text-align:center;padding:65px 25px;margin-top:60px;border:1px solid var(--line);background:#eeefe6;border-radius:8px}
.contact-panel h2{font-size:38px}
.contact-panel .button{margin:10px 0 20px}
footer{text-align:center;font-size:8px;letter-spacing:2px;color:#969c8d;padding:20px;margin-left:250px}
.public footer{margin-left:0}
dialog{background:#18221deF;border:1px solid #526054;padding:45px 25px 15px;color:#fff;max-width:96vw;max-height:96vh;width:1100px;border-radius:8px}
dialog::backdrop{background:#121a16dd}
dialog img{display:block;max-height:76vh;max-width:100%;object-fit:contain;margin:auto}
dialog p{text-align:center;color:#fff;margin:15px 0 0}
#close-lightbox{position:absolute;right:10px;top:5px;padding:0 10px;border:0;background:none;color:white;font-size:29px}
hr{border:0;border-top:1px solid var(--line);margin:30px 0}
[hidden]{display:none!important}
@media(min-width:1600px){.content{padding-top:50px}
.project-cover{height:270px}
}
@media(max-width:1150px){.sidebar{width:215px;padding:28px 17px}
.brand{font-size:20px}
.main,footer{margin-left:215px}
.content{padding:30px 25px}
.topbar{padding:0 25px}
.stats{gap:12px}
.stat{padding:18px}
.project-grid,.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.building-graphic{width:230px;flex-shrink:0;margin-right:0}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.auth-layout{gap:40px}
.auth-intro h1{font-size:55px}
.public-main{padding:30px}
.page-heading h1{font-size:38px}
}
@media(max-width:760px){.sidebar{position:relative;width:100%;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line)}
.sidebar .brand{font-size:22px}
.nav-label,.sidebar-bottom{display:none}
.sidebar nav{display:flex;overflow:auto;margin-top:20px;gap:5px}
.sidebar nav a{white-space:nowrap;padding:8px 12px;font-size:11px}
.sidebar nav a:before{display:none}
.main,footer{margin-left:0}
.topbar{height:55px;padding:0 20px}
.topbar .tag{font-size:7px}
.content{padding:25px 18px 45px}
.page-heading{display:block;margin-bottom:24px}
.page-heading .button{margin-top:20px}
.page-heading h1{font-size:35px}
.stats{grid-template-columns:repeat(2,1fr)}
.stat strong{font-size:32px;margin:8px 0 10px}
.studio-banner{padding:28px 23px;min-height:230px}
.studio-banner h2{font-size:28px}
.building-graphic{position:absolute;right:-90px;bottom:-40px;opacity:.25;pointer-events:none}
.studio-banner>div:first-child{position:relative;z-index:1}
.section-heading{align-items:start;gap:10px}
.section-heading h2{font-size:24px}
.section-heading .muted{max-width:100px;text-align:right;font-size:10px}
.project-grid,.asset-grid{gap:16px}
.project-cover{height:180px}
.card-body{padding:17px}
.card-body h3{font-size:20px}
.card-footer{gap:10px;font-size:9px}
.panel{padding:23px 20px}
.panel.compact{padding:20px}
.panel summary .muted{display:block;margin:5px 0 0}
.toolbar{gap:10px}
.toolbar span{font-size:10px}
.form-grid,.asset-selection,.assignment-grid{grid-template-columns:1fr}
.link-box{grid-template-columns:1fr}
.link-box small{grid-column:auto}
.auth-layout{display:block;margin:38px 0}
.auth-intro h1{font-size:47px}
.auth-intro h1 br{display:none}
.auth-intro>p{max-width:none}
.architecture-art{display:none}
.auth-card{padding:30px 25px;margin:28px auto}
.public-main{padding:23px 20px}
.public-main>.brand{font-size:22px}
.public-main .brand small{font-size:7px;letter-spacing:1px}
.presentation-hero{padding:55px 0 40px}
.presentation-hero h1{font-size:40px}
.presentation-grid{grid-template-columns:1fr}
.presentation-grid .asset-card img{height:auto;max-height:450px}
.contact-panel{margin-top:35px;padding:40px 20px}
.contact-panel h2{font-size:30px}
h1{font-size:36px}
}
@media(max-width:420px){.project-grid,.asset-grid{grid-template-columns:1fr}
.project-cover{height:240px}
}
