/* corpid+ Client Portal Styles */
:root { --black:#000; --red:#E31E24; --white:#fff; --gray-50:#f9f9f9; --gray-100:#f2f2f2; --gray-200:#e5e5e5; --gray-400:#a0a0a0; --gray-600:#555; --gray-800:#222; }
*{margin:0;padding:0;box-sizing:border-box;}
body.corpid-portal-page{font-family:'Lato',Arial,sans-serif;background:var(--gray-50);color:var(--gray-800);}
.cp-layout{display:flex;min-height:100vh;}
.cp-sidebar{width:240px;background:var(--black);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;height:100vh;z-index:100;}
.cp-logo{padding:28px 24px 20px;border-bottom:1px solid #1a1a1a;}
.cp-logo-text{font-family:'Poppins','Arial',sans-serif;font-size:22px;font-weight:700;color:var(--white);letter-spacing:-0.5px;}
.cp-logo-text span{color:var(--red);}
.cp-tagline{font-size:10px;color:#666;letter-spacing:2px;text-transform:uppercase;margin-top:3px;}
.cp-client-info{padding:16px 24px;border-bottom:1px solid #1a1a1a;}
.cp-client-name{font-family:'Poppins',Arial,sans-serif;font-size:13px;font-weight:600;color:var(--white);}
.cp-user-name{font-size:12px;color:#666;margin-top:2px;}
.cp-nav{flex:1;padding:16px 0;}
.cp-nav a{display:flex;align-items:center;gap:10px;padding:11px 24px;font-size:13px;font-family:'Poppins',Arial,sans-serif;font-weight:600;color:#666;text-decoration:none;transition:all .15s;letter-spacing:.3px;}
.cp-nav a:hover,.cp-nav a.active{color:var(--white);background:#111;}
.cp-nav a.active{border-left:3px solid var(--red);padding-left:21px;}
.cp-sidebar-footer{padding:16px 24px;border-top:1px solid #1a1a1a;}
.cp-sidebar-footer a{color:#666;font-size:12px;text-decoration:none;}
.cp-sidebar-footer a:hover{color:var(--white);}
.cp-main{margin-left:240px;flex:1;display:flex;flex-direction:column;}
.cp-topbar{background:var(--white);border-bottom:1px solid var(--gray-200);padding:0 32px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;}
.cp-page-title{font-family:'Poppins',Arial,sans-serif;font-size:15px;font-weight:700;color:var(--black);}
.cp-content{padding:32px;flex:1;}
.cp-announcement{background:var(--black);color:var(--white);padding:12px 20px;border-left:4px solid var(--red);margin-bottom:20px;}
.cp-ann-title{font-family:'Poppins',Arial,sans-serif;font-size:13px;font-weight:700;}
.cp-ann-body{font-size:13px;color:#aaa;margin-top:4px;}
.cp-card{background:var(--white);border:1px solid var(--gray-200);padding:24px;}
.cp-card-title{font-family:'Poppins',Arial,sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--black);margin-bottom:16px;}
.cp-badge{display:inline-block;font-size:11px;font-family:'Poppins',Arial,sans-serif;font-weight:700;padding:3px 10px;letter-spacing:.5px;text-transform:uppercase;}
.cp-badge-pending{background:#fff4e0;color:#996600;}
.cp-badge-changes{background:#ffeaea;color:#cc0000;}
.cp-badge-approved{background:#e8f5e9;color:#2e7d32;}
.cp-badge-urgent{background:var(--red);color:var(--white);}
.cp-badge-info{background:var(--gray-100);color:var(--gray-600);}
.cp-btn{display:inline-block;padding:10px 20px;font-family:'Poppins',Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border:none;text-decoration:none;transition:opacity .15s;}
.cp-btn:hover{opacity:.85;}
.cp-btn-primary{background:var(--black);color:var(--white);}
.cp-btn-red{background:var(--red);color:var(--white);}
.cp-btn-outline{background:transparent;color:var(--black);border:2px solid var(--black);}
.cp-btn-sm{padding:7px 14px;font-size:11px;}
.cp-alert{padding:12px 16px;margin-bottom:20px;font-size:14px;border-left:4px solid;}
.cp-alert-success{background:#e8f5e9;border-color:#2e7d32;color:#1b5e20;}
.cp-alert-error{background:#ffeaea;border-color:#cc0000;color:#7f0000;}
.cp-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:28px;}
.cp-stat{background:var(--white);border:1px solid var(--gray-200);padding:20px 24px;}
.cp-stat-num{font-family:'Poppins',Arial,sans-serif;font-size:32px;font-weight:700;color:var(--black);line-height:1;}
.cp-stat-num.red{color:var(--red);}
.cp-stat-label{font-size:12px;color:var(--gray-600);margin-top:6px;text-transform:uppercase;letter-spacing:.5px;}
.cp-urgent-bar{background:var(--red);padding:16px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;}
.cp-urgent-bar p{font-family:'Poppins',Arial,sans-serif;font-weight:700;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:1px;}
.cp-versions-tabs{display:flex;border-bottom:2px solid #000;margin-bottom:0;}
.cp-version-tab{padding:10px 20px;font-family:'Poppins',Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.5px;cursor:pointer;border:none;background:transparent;color:#888;text-transform:uppercase;}
.cp-version-tab.active{background:#000;color:#fff;}
.cp-version-panel{display:none;}.cp-version-panel.active{display:block;}
.cp-content-area{background:#f9f9f9;border:1px solid #e5e5e5;padding:24px;min-height:300px;}
.cp-content-area img{max-width:100%;height:auto;display:block;margin-bottom:16px;border:1px solid #e5e5e5;}
.cp-content-area iframe{width:100%;border:none;min-height:500px;}
.cp-log-entry{padding:14px 0;border-bottom:1px solid #f2f2f2;}
.cp-log-entry:last-child{border-bottom:none;}
.cp-log-author{font-family:'Poppins',Arial,sans-serif;font-size:12px;font-weight:700;color:#000;}
.cp-log-author.admin{color:#E31E24;}
.cp-two-col{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start;}
.cp-form-group{margin-bottom:20px;}
.cp-form-group label{display:block;font-family:'Poppins',Arial,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#000;margin-bottom:6px;}
.cp-form-group input,.cp-form-group select,.cp-form-group textarea{width:100%;padding:12px 14px;border:1px solid #ddd;font-family:'Lato',Arial,sans-serif;font-size:14px;outline:none;transition:border-color .15s;background:#fff;}
.cp-form-group input:focus,.cp-form-group select:focus,.cp-form-group textarea:focus{border-color:#000;}
.cp-kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cp-kanban-col-header{padding:12px 16px;font-family:'Poppins',Arial,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;color:#fff;}
.col-progress .cp-kanban-col-header{background:#000;}
.col-review .cp-kanban-col-header{background:#cc8800;}
.col-done .cp-kanban-col-header{background:#2e7d32;}
.cp-kanban-card{background:#fff;border:1px solid #e5e5e5;padding:18px 20px;margin-bottom:10px;}
.cp-kanban-card.urgent{border-left:4px solid #E31E24;}
/* Auth pages */
.cp-auth-wrap{min-height:100vh;background:#000;display:flex;align-items:center;justify-content:center;padding:20px;}
.cp-auth-box{width:100%;max-width:420px;}
.cp-auth-logo{text-align:center;margin-bottom:40px;}
.cp-auth-logo-text{font-family:'Poppins',Arial,sans-serif;font-size:36px;font-weight:700;color:#fff;letter-spacing:-1px;}
.cp-auth-logo-text span{color:#E31E24;}
.cp-auth-form{background:#fff;padding:40px;}
.cp-auth-form h1{font-family:'Poppins',Arial,sans-serif;font-size:18px;font-weight:700;color:#000;margin-bottom:8px;}
.cp-auth-subtitle{font-size:13px;color:#888;margin-bottom:28px;}
.cp-auth-form label{display:block;font-family:'Poppins',Arial,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.cp-auth-form input{width:100%;padding:12px 14px;border:1px solid #ddd;font-size:14px;outline:none;transition:border-color .15s;margin-bottom:20px;}
.cp-auth-form input:focus{border-color:#000;}
.cp-auth-btn{width:100%;background:#E31E24;color:#fff;border:none;padding:14px;font-family:'Poppins',Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;}
.cp-auth-link{display:block;text-align:center;margin-top:16px;font-size:13px;color:#888;text-decoration:none;}
.cp-auth-link:hover{color:#000;}
@media(max-width:768px){.cp-sidebar{width:100%;height:auto;position:relative;}.cp-main{margin-left:0;}.cp-layout{flex-direction:column;}.cp-kanban{grid-template-columns:1fr;}.cp-two-col{grid-template-columns:1fr;}}
