*,:before,:after{box-sizing:border-box}body{color:#1e1e1e;background:#f6f6f6;margin:0;padding:0;font-family:Manrope,system-ui,sans-serif}a{color:inherit}input,button,select,textarea{font-family:inherit}:root{--brand:#1fa8c4;--brand-dark:#0e97aa;--brand-bg:#e8f7fa;--surface:#fff;--surface-2:#f6f6f6;--surface-3:#ebebeb;--border:#d1d1d1;--border-strong:#a1a1a1;--text:#1e1e1e;--text-muted:#5a5a5a;--text-faint:#a1a1a1;--danger:#c0392b;--danger-bg:#fdf0ef;--success:#2d6a4f;--success-bg:#edf7f1;--font-serif:"Libre Franklin", sans-serif;--font-sans:"Manrope", system-ui, sans-serif;--radius:10px;--radius-lg:16px;--shadow:0 1px 3px #0000000f, 0 4px 12px #0000000a;--shadow-lg:0 8px 32px #0000001a, 0 2px 8px #0000000d}.btn{font-family:var(--font-sans);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:7px;align-items:center;gap:4px;padding:8px 16px;font-size:13px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn-sm{padding:5px 10px;font-size:12px}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:#0d0d20;border-color:#0d0d20}.btn-danger-ghost{background:var(--surface);border-color:var(--border);color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3)}.topbar{z-index:200;background:var(--brand);color:#fff;border-bottom:3px solid var(--brand-dark);justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0003}.topbar-wordmark{font-family:var(--font-serif);pointer-events:none;white-space:nowrap;font-size:22px;font-weight:400;position:absolute;left:50%;transform:translate(-50%)}.tb-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff38;border:1px solid #fff6;border-radius:6px;align-items:center;gap:5px;padding:5px 13px;font-family:inherit;font-size:13px;text-decoration:none;transition:background .15s;display:inline-flex}.tb-btn:hover{background:#ffffff59}.hub-header{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--brand-bg);z-index:100;padding:18px 28px 0;position:sticky;top:64px}.hub-header-row{align-items:center;gap:16px;padding-bottom:16px;display:flex}.hub-agency-ph{background:var(--brand);color:#ffe6c7;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.hub-title-block{flex:1}.hub-title{font-family:var(--font-serif);color:var(--brand);font-size:20px;font-weight:400}.hub-subtitle{color:var(--text-muted);margin-top:1px;font-size:12px}.hub-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.hub-body{max-width:960px;margin:0 auto;padding:32px 24px 80px}.module-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:24px;display:grid}.module-card{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;height:190px;color:inherit;flex-direction:column;gap:10px;padding:22px 18px 18px;text-decoration:none;transition:all .15s;display:flex;position:relative;overflow:hidden}.module-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.module-card:hover .mc-actions{opacity:1}.mc-icon{font-size:28px;line-height:1}.mc-name{color:var(--text);font-size:15px;font-weight:600}.mc-type{color:var(--text-muted);font-size:12px}.mc-meta{color:var(--text-muted);margin-top:auto;padding-top:6px;font-size:12px}.mc-actions{opacity:0;gap:3px;transition:opacity .15s;display:flex;position:absolute;top:10px;right:10px}.card-icon-btn{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;transition:background .1s;display:flex}.card-icon-btn:hover{background:var(--surface-3)}.new-module-card{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;gap:8px;min-height:110px;padding:22px 18px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.new-module-card:hover{background:var(--brand-bg);border-color:var(--brand);color:var(--brand)}.project-card{background:var(--surface);border-radius:var(--radius);border:1.5px solid var(--border-strong);padding:20px;text-decoration:none;transition:all .15s;display:block}.mod-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:14px;padding:14px 28px;display:flex;position:sticky;top:64px}.mod-back{background:var(--surface-3);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:14px;font-family:var(--font-sans);border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:5px 10px;font-weight:500;transition:all .15s;display:inline-flex}.mod-back:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.mod-title{font-family:var(--font-serif);color:var(--brand);font-size:18px;font-weight:400}.mod-type-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--brand);background:var(--brand-bg);border-radius:5px;flex-shrink:0;padding:3px 9px;font-size:10px;font-weight:700}.modal-overlay{z-index:500;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg);padding:28px}.modal-title{font-family:var(--font-serif);color:var(--brand);margin:0 0 20px;font-size:20px;font-weight:400}.modal-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-top:24px;padding-top:16px;display:flex}.field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:5px;font-size:11px;font-weight:700;display:block}.field-input{border:1.5px solid var(--border-strong);background:#f2f0ec;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:14px}.project-card{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;padding:20px 20px 16px;transition:box-shadow .15s,transform .1s;position:relative}.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.project-card:hover .card-actions{opacity:1}.card-actions{opacity:0;gap:3px;transition:opacity .15s;display:flex;position:absolute;top:12px;right:12px}.client-initials{background:var(--brand);color:#ffe6c7;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:10px;font-size:15px;font-weight:600;display:flex}.new-card{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;gap:8px;min-height:130px;padding:20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.new-card:hover{background:var(--brand-bg);border-color:var(--brand);color:var(--brand)}
