@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";.contact-avatar{position:relative;overflow:hidden}.contact-avatar>img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.contact-avatar>svg{fill:currentColor;width:72%;height:72%}.contact-avatar.contact-avatar-female{color:#b85778;background:#fde8ef}.contact-avatar.contact-avatar-male{color:#477eae;background:#e4f1ff}.contact-avatar.contact-avatar-unknown{color:#8a8175;background:#eee9e1}.contact-name-layout{align-items:center;gap:10px;display:flex}.contact-thumbnail{background:var(--accent-soft);border-radius:50% 50% 10px;flex:0 0 42px;width:42px;height:42px;overflow:hidden}.compact-table .contact-name-layout{gap:6px}.compact-table .contact-thumbnail{border-radius:50% 50% 6px;flex-basis:24px;width:24px;height:24px}.replace-image-button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:3px 7px;font-size:.7rem;font-weight:700}.image-editor-backdrop{z-index:150;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#17233cb8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-editor{background:var(--card);border-radius:22px;width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 28px 80px #0c162a57}.image-editor>header{justify-content:space-between;align-items:start;gap:20px;padding:20px 22px 16px;display:flex}.image-editor h2{margin:0;font-size:2rem}.image-editor>header>button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;width:38px;height:38px;font-size:1.4rem}.image-crop-viewport{aspect-ratio:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#d9d4cd;border-radius:18px;width:min(400px,100% - 40px);margin:0 auto;position:relative;overflow:hidden}.image-crop-viewport:active{cursor:grabbing}.image-crop-viewport img{-o-object-fit:cover;object-fit:cover;pointer-events:none;transform-origin:50%;width:100%;height:100%}.crop-guide{pointer-events:none;border:1px solid #ffffffc7;border-radius:50% 50% 14%;position:absolute;inset:8%;box-shadow:0 0 0 999px #0a14232e}.image-editor-hint{text-align:center;margin:12px 24px 0}.image-editor-hint,.zoom-control{color:var(--muted);font-size:.78rem}.zoom-control{grid-template-columns:auto 1fr 48px;align-items:center;gap:12px;margin:18px 24px 0;font-weight:700;display:grid}.zoom-control input{width:100%;accent-color:var(--accent)}.zoom-control strong{color:var(--ink);text-align:right}.image-editor>footer{align-items:center;gap:9px;padding:18px 22px 22px;display:flex}.image-editor>footer .primary-button{margin:0}.image-editor-spacer{flex:1}@media (width<=560px){.image-editor-backdrop{padding:0}.image-editor{border-radius:0;min-height:100vh;max-height:100vh}.image-editor>footer{flex-wrap:wrap}.image-editor-spacer{display:none}}.dashboard-page{min-height:100vh;padding-bottom:80px}.contacts-page .directory{margin-top:42px}.dashboard-tiles{grid-template-columns:repeat(3,1fr);gap:14px;width:min(1240px,100% - 48px);margin:0 auto;display:grid}.dashboard-tile{border:1px solid var(--line);min-height:280px;color:var(--ink);background:#fff;border-radius:26px;flex-direction:column;justify-content:space-between;padding:26px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}a.dashboard-tile:hover{transform:translateY(-3px);box-shadow:0 16px 35px #17233c1a}.dashboard-tile small,.dashboard-tile strong,.dashboard-tile>span>span{display:block}.dashboard-tile small{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}.dashboard-tile strong{margin-top:5px;font:2.5rem DM Serif Display,serif}.dashboard-tile>span>span{color:var(--muted);margin-top:8px;font-size:.85rem}.dashboard-tile>b:last-child{color:var(--accent);align-self:flex-end;font-size:1.6rem}.contacts-tile{background:#fff8ee}.inbox-tile{background:#eef6ff}.birthdays-tile{background:#fff}.tile-icon,.tile-number{color:var(--accent);font:5rem/.9 DM Serif Display,serif}.tile-icon{font-size:4rem}.tile-badge{background:var(--accent);border-radius:999px;place-items:center;min-width:40px;height:40px;padding:0 9px;display:grid;color:#fff!important;font-size:1rem!important}.birthday-tile-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.birthday-tile-heading small,.birthday-tile-heading strong{display:block}.birthday-tile-heading a{color:var(--accent);font-size:.75rem;font-weight:700}.upcoming-birthdays{gap:5px;margin-top:16px;display:grid}.upcoming-birthdays a{border-top:1px solid #ece7df;grid-template-columns:52px 1fr;gap:8px;padding:8px 0;font-size:.8rem;text-decoration:none;display:grid}.upcoming-birthdays time{color:var(--accent);font-weight:700}.birthday-list-label{margin-top:6px;color:var(--muted)!important;font-size:.62rem!important}.birthday-list-label:first-child{margin-top:0}.upcoming-birthdays .past-birthday{color:#929292;border-color:#dedede}.upcoming-birthdays .past-birthday time{color:#929292}.missed-label+.past-birthday{margin-top:1px}.inbox-page{min-height:100vh;padding-bottom:80px}.inbox-intro{width:min(1120px,100% - 48px);margin:0 auto;padding:62px 0 42px}.event-detail-heading h1,.events-intro h1,.inbox-intro h1{font-size:calc(clamp(3.2rem,7vw,6rem))}.inbox-intro>p:last-child{color:var(--muted);margin:16px 0 0}.dashboard-updates{width:min(1120px,100% - 48px);margin:0 auto}.updates-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding-bottom:15px;display:flex}.updates-heading h2{margin:0;font-size:calc(clamp(2.3rem,5vw,4rem))}.updates-heading .ghost-button{margin-bottom:4px}.updates-empty{border:1px dashed var(--line);color:var(--muted);background:#fffdf98f;border-radius:18px;gap:5px;margin-top:14px;padding:30px;display:grid}.updates-empty strong{color:var(--ink);font-size:1.05rem}.update-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px;display:grid}.update-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px}.update-card,.update-card>a{align-items:center;gap:12px;display:flex}.update-card>a{min-width:0;color:inherit;flex:1;text-decoration:none}.update-card>a>span:last-child{min-width:0}.update-card a span span,.update-card small,.update-card strong{display:block}.update-card small{color:var(--accent);font-size:.7rem;font-weight:700}.update-card strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.update-card a span span{color:var(--muted);margin-top:3px;font-size:.7rem}.update-avatar{border-radius:50% 50% 12px;flex:0 0 52px;place-items:center;width:52px;height:52px;display:grid}.update-card>button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:7px 9px;font-size:.7rem;text-decoration:underline}.update-card button:disabled{cursor:wait;opacity:.5}@media (width<=760px){.dashboard-tiles{grid-template-columns:1fr;width:min(100% - 30px,1240px)}.dashboard-tile{min-height:230px}.dashboard-updates,.inbox-intro{width:min(100% - 30px,1120px)}.updates-heading{flex-direction:column;align-items:flex-start}.update-grid{grid-template-columns:1fr}.update-card{flex-wrap:wrap;align-items:flex-start}.update-card>button{margin-left:64px}}.events-page{min-height:100vh;padding-bottom:80px}.event-detail-heading,.event-media,.event-mobile-stages,.event-pipeline,.event-state,.events-intro,.events-overview{width:min(1240px,100% - 48px);margin-left:auto;margin-right:auto}.events-intro{grid-template-columns:1fr minmax(340px,470px);align-items:end;gap:50px;padding:62px 0 44px;display:grid}.events-intro>div>p:last-child{max-width:620px;color:var(--muted);margin-top:14px}.new-event-form{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:1fr 1fr;gap:12px;padding:20px;display:grid}.new-event-form .form-error,.new-event-form h2{grid-column:1/-1}.new-event-form h2{margin:0;font-size:1.35rem}.new-event-form label{color:var(--muted);gap:5px;font-size:.72rem;font-weight:700;display:grid}.new-event-form input{border:1px solid var(--line);border-radius:10px;outline:0;min-width:0;min-height:44px;padding:0 11px}.new-event-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f2644a1f}.new-event-form .primary-button{grid-column:1/-1;margin-top:0}.events-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:15px;display:flex}.events-heading h2{margin:0;font-size:calc(clamp(2rem,4vw,3.4rem))}.event-view-actions{align-items:center;gap:10px;display:flex}.event-view-actions>span{background:var(--yellow);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.event-view-switch{border:1px solid var(--line);background:#f2eee6;border-radius:999px;padding:4px;display:flex}.event-view-switch button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:.72rem;font-weight:700}.event-view-switch button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #17233c14}.events-overview .state-card{margin-top:14px}.event-card-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;display:grid}.event-card{border:1px solid var(--line);min-height:210px;color:inherit;background:#fff;border-radius:20px;flex-direction:column;padding:20px;text-decoration:none;display:flex}.event-card-image{-o-object-fit:cover;object-fit:cover;border-radius:19px 19px 0 0;width:calc(100% + 40px);height:145px;margin:-20px -20px 18px}.event-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 12px 30px #17233c14}.event-card time{color:var(--accent);font-size:.75rem;font-weight:700}.event-card h3{margin:16px 0 6px;font:2rem DM Serif Display,serif}.event-card p{color:var(--muted);margin:0;font-size:.8rem}.event-card footer{color:var(--muted);justify-content:space-between;margin-top:auto;font-size:.72rem;display:flex}.event-card footer b{color:var(--accent);font-size:1.2rem}.event-state{margin-top:70px}.event-detail-heading{justify-content:space-between;align-items:end;gap:30px;padding:58px 0 28px;display:flex}.event-date-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:230px;padding:15px 18px}.event-date-card small,.event-date-card time{display:block}.event-date-card small{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:.66rem;font-weight:700}.event-date-card time{margin-top:6px;font-weight:700}.event-read-only{color:#6f5816;background:#fff8dc;border:1px solid #d8cda9;border-radius:12px;width:min(1240px,100% - 48px);margin:-14px auto 22px;padding:12px 15px;font-size:.82rem}.event-media{border:1px solid var(--line);background:#fff;border-radius:22px;margin-bottom:22px;padding:18px}.event-media>header{justify-content:space-between;align-items:end;gap:20px;display:flex}.event-media h2{margin:0;font-size:1.7rem}.event-image-picker{background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;padding:9px 14px;font-size:.75rem;font-weight:700}.event-image-picker input{opacity:0;width:1px;height:1px;position:absolute}.event-image-picker.disabled{opacity:.55;cursor:wait}.event-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.event-image-grid figure{border:1px solid var(--line);background:#f5f1e9;border-radius:14px;min-width:0;margin:0;overflow:hidden}.event-image-grid img{aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;width:100%}.event-image-grid figcaption{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;font-size:.68rem;display:flex}.event-contact-name,.event-image-grid figcaption span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-image-grid figcaption button{color:#8a3535;cursor:pointer;background:#f5dfdb;border:0;border-radius:50%;flex:0 0 24px;width:24px;height:24px;padding:0}.event-image-dropzone{width:100%;min-height:76px;color:var(--ink);text-align:center;cursor:pointer;background:#fffaf3;border:1px dashed #c9bfb2;border-radius:14px;place-content:center;gap:3px;margin-top:12px;display:grid}.event-image-dropzone span,.event-upload-message{color:var(--muted);font-size:.72rem}.event-image-dropzone.dragging{border-color:var(--accent);background:#fff0e8;transform:scale(1.005)}.event-image-dropzone.disabled{opacity:.55;cursor:wait}.event-upload-message{margin:9px 2px 0}.event-mobile-stages{display:none}.event-pipeline{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:10px;display:grid}.event-pipeline.read-only{grid-template-columns:repeat(3,minmax(0,1fr))}.event-column{border:1px solid var(--line);background:#ffffff8c;border-radius:18px;min-width:0;min-height:560px;padding:12px}.event-column>header{justify-content:space-between;align-items:center;padding:3px 3px 12px;display:flex}.event-column>header h2,.event-column>header small{display:block}.event-column>header small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:700}.event-column>header h2{margin:3px 0 0;font-size:1.25rem}.event-column>header>b,.response-group h3 b{background:#ede7dd;border-radius:50%;place-items:center;min-width:27px;height:27px;font-size:.72rem;display:grid}.event-column-heading-actions{align-items:center;gap:6px;display:flex}.event-column-heading-actions>button{border:1px solid var(--line);min-height:28px;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:0 9px;font-size:.65rem;font-weight:700}.event-column-heading-actions>b{background:#ede7dd;border-radius:50%;place-items:center;min-width:27px;height:27px;font-size:.72rem;display:grid}.event-import-menu{background:#fffaf3;border:1px solid #dfd5c7;border-radius:12px;gap:7px;margin-bottom:10px;padding:10px;display:grid;box-shadow:0 8px 22px #17233c14}.event-import-menu label{color:var(--muted);font-size:.66rem;font-weight:700}.event-import-menu select,.event-import-menu>button{border:1px solid var(--line);border-radius:8px;width:100%;min-height:35px;font-size:.68rem}.event-import-menu select{color:var(--ink);background:#fff;padding:0 7px}.event-import-menu>button{background:var(--ink);color:#fff;cursor:pointer;font-weight:700}.event-import-menu>button:disabled{opacity:.5;cursor:wait}.event-import-menu p{color:var(--muted);margin:0;font-size:.67rem}.event-filters{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;display:grid}.event-filters input,.event-search-stack{grid-column:1/-1}.event-filters input,.event-filters select{border:1px solid var(--line);width:100%;min-width:0;min-height:37px;color:var(--ink);background:#fff;border-radius:9px;padding:0 8px;font-size:.7rem}.event-contact-list{gap:6px;display:grid}.event-contact-card{background:#fff;border:1px solid #e5ded4;border-radius:11px;justify-content:space-between;align-items:center;gap:7px;min-width:0;min-height:50px;padding:7px 8px 7px 10px;display:flex}.event-contact-card.gender-female{background:#fff5f8}.event-contact-card.gender-male{background:#f3f8ff}.event-contact-card.busy{opacity:.55}.event-contact-person{min-width:0}.event-contact-person>small{display:block}.event-contact-name{max-width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.event-contact-name:hover strong{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.event-contact-name-static{cursor:default}.event-contact-name strong{font-size:.76rem}.event-contact-name>span{color:var(--muted);margin-left:3px;font-size:.62rem;font-weight:400}.event-contact-person small{color:#d29a16;letter-spacing:.02em;margin-top:2px;font-size:.66rem}.event-contact-actions{align-items:center;gap:4px;display:flex}.event-contact-actions button{width:28px;height:28px;color:var(--accent);cursor:pointer;background:#f2ece3;border:0;border-radius:50%;padding:0}.event-contact-actions button:hover{background:var(--ink);color:#fff}.event-contact-actions button:disabled{cursor:wait}.event-contact-actions .response-choice{border:1px solid;width:25px;height:25px;font-size:.72rem;font-weight:700}.event-contact-actions .response-choice.accepted{color:#276442;background:#e5f5eb}.event-contact-actions .response-choice.maybe{color:#806012;background:#fff3cf}.event-contact-actions .response-choice.declined{color:#8a3535;background:#f7e2e2}.event-contact-actions .response-choice:hover{filter:brightness(.96)}.event-contact-actions select{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:80px;min-height:28px;font-size:.65rem}.event-empty{color:var(--muted);margin:4px;font-size:.72rem}.event-author-groups{gap:12px;display:grid}.event-author-group>h3{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;justify-content:space-between;align-items:center;margin:0 2px 6px;font-size:.66rem;display:flex}.event-author-group>h3 b{background:#ece6dc;border-radius:50%;place-items:center;min-width:21px;height:21px;font-size:.62rem;display:grid}.response-group{border-radius:13px;padding:8px}.response-group+.response-group{margin-top:9px}.response-group h3{justify-content:space-between;align-items:center;margin:0 0 7px;font-size:.78rem;display:flex}.status-accepted{background:#e5f5eb}.status-accepted h3{color:#276442}.status-maybe{background:#fff3cf}.status-maybe h3{color:#806012}.status-declined{background:#f7e2e2}.status-declined h3{color:#8a3535}.event-calendar{margin-top:18px}.calendar-toolbar{justify-content:center;align-items:center;gap:16px;margin-bottom:10px;display:flex}.calendar-toolbar h3{text-align:center;text-transform:capitalize;min-width:220px;margin:0;font:1.6rem DM Serif Display,serif}.calendar-toolbar button{width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:50%}.calendar-scroll,.calendar-toolbar button{border:1px solid var(--line);background:#fff}.calendar-scroll{border-radius:18px;overflow-x:auto}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:760px;display:grid}.calendar-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;background:#f2eee6;padding:10px;font-size:.68rem;font-weight:700}.calendar-day{border-top:1px solid #eee8de;border-left:1px solid #eee8de;min-height:125px;padding:8px}.calendar-day:nth-child(7n+1){border-left:0}.calendar-day>b{border-radius:50%;place-items:center;width:25px;height:25px;font-size:.72rem;display:grid}.calendar-day.today>b{background:var(--accent);color:#fff}.calendar-day>a{background:var(--accent-soft);color:var(--ink);border-radius:7px;margin-top:5px;padding:5px 6px;font-size:.65rem;text-decoration:none;display:block;overflow:hidden}.calendar-day>a span,.calendar-day>a time{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-day>a time{color:#93402f;font-size:.58rem;font-weight:700}.calendar-agenda{display:none}@media (width<=1120px){.event-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.event-column{min-height:420px}}@media (width<=760px){.event-detail-heading,.event-media,.event-mobile-stages,.event-pipeline,.event-read-only,.event-state,.events-intro,.events-overview{width:min(100% - 24px,1240px)}.events-intro{gap:24px;padding-top:44px}.event-card-grid,.event-pipeline,.event-pipeline.read-only,.events-intro,.new-event-form{grid-template-columns:1fr}.events-heading{align-items:flex-start;gap:14px}.events-heading h2{font-size:2rem}.event-view-actions{flex-direction:column-reverse;align-items:flex-end}.event-card{min-height:170px}.event-detail-heading{flex-direction:column;align-items:stretch}.event-detail-heading h1{font-size:calc(clamp(2.7rem,14vw,4.2rem))}.event-date-card{min-width:0}.event-media{padding:14px}.event-media>header{align-items:flex-start}.event-image-picker{white-space:nowrap}.event-image-grid{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:minmax(240px,78vw);grid-auto-flow:column;overflow-x:auto}.event-image-grid figure{scroll-snap-align:start}.event-image-dropzone{min-height:64px}.event-mobile-stages{z-index:18;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f4ecf5;border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-bottom:10px;padding:5px;display:grid;position:sticky;top:72px}.event-mobile-stages button{min-width:0;min-height:46px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-content:center;gap:2px;padding:4px 2px;font-size:.6rem;display:grid}.event-mobile-stages button b{font-size:.7rem}.event-mobile-stages button.active{background:var(--ink);color:#fff}.event-column{min-height:0;display:none}.event-column.mobile-active{display:block}.event-contact-card{min-height:58px}.calendar-scroll{display:none}.calendar-agenda{gap:7px;display:grid}.calendar-agenda>a{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:46px 1fr 18px;align-items:center;gap:10px;min-height:68px;padding:8px 11px;text-decoration:none;display:grid}.calendar-agenda time{background:var(--accent-soft);text-align:center;border-radius:10px;place-content:center;width:43px;height:48px;display:grid}.calendar-agenda a>span small,.calendar-agenda a>span strong,.calendar-agenda time b,.calendar-agenda time span{display:block}.calendar-agenda a>span small,.calendar-agenda time span{color:var(--muted);font-size:.65rem}.calendar-agenda>p{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:13px;padding:24px}}:root{--ink:#17233c;--muted:#667085;--paper:#f8f4ec;--card:#fffdf9;--line:#ded8cd;--accent:#f2644a;--accent-soft:#f8d8c8;--yellow:#f4c95d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}button,input,select{font:inherit}a{color:inherit}.amigo-page{min-height:100vh;overflow:clip}.topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;width:min(1240px,100% - 48px);margin:0 auto;padding:18px 0;display:flex;position:sticky;top:0}.topbar,.topbar:before{background:#f8f4ecf0}.topbar:before{z-index:-1;content:"";position:absolute;inset:0 -100vmax}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);color:#fff;border-radius:50% 50% 50% 12px;place-items:center;width:36px;height:36px;font-family:DM Serif Display,serif;display:grid}.global-contact-search{z-index:3;width:220px;margin:0 auto 0 18px;position:relative}.global-contact-search>label{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:0 11px;display:flex}.global-contact-search svg{fill:none;width:16px;stroke:var(--muted);stroke-width:1.8px;flex:0 0 16px}.global-contact-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding-right:28px;font-size:.8rem}.global-contact-search>.search-create-button{right:6px}.global-contact-search input::-webkit-search-cancel-button{display:none}.global-search-results{z-index:60;border:1px solid var(--line);background:#fff;border-radius:14px;width:310px;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 16px 40px #17233c29}.global-search-results button{width:100%;min-height:58px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #eee9e1;grid-template-columns:36px 1fr 16px;align-items:center;gap:9px;padding:8px 10px;display:grid}.global-search-results button:first-child{border-top:0}.global-search-results button.active{background:#fff5e8}.global-search-results small,.global-search-results strong{display:block}.global-search-results strong{font-size:.82rem}.global-search-results small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.7rem;overflow:hidden}.global-search-results p{color:var(--muted);margin:0;padding:16px;font-size:.78rem}.main-nav{border:1px solid var(--line);background:#fffdf9c7;border-radius:999px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.main-nav a{color:var(--muted);border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:700;text-decoration:none}.main-nav a:hover{color:var(--ink)}.main-nav a.active{background:var(--ink);color:#fff}.app-view-tabs{z-index:4;border:1px solid var(--line);background:#f8f4ecf7;border-top:0;border-radius:0 0 13px 13px;gap:3px;max-width:calc(min(720px,100vw - 30px));padding:4px;position:absolute;top:calc(100% + 1px);left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 7px 18px #17233c14}.app-view-tab,.app-view-tabs{align-items:center;display:flex}.app-view-tab{max-width:170px;min-height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;gap:6px;padding:0 7px 0 10px;font-size:.7rem}.app-view-tab>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-view-tab.active{color:var(--ink);background:#fff;box-shadow:0 1px 5px #17233c1a}.close-view-tab{width:17px;height:17px;color:var(--muted);border-radius:50%;flex:0 0 17px;place-items:center;font-size:.8rem;display:grid}.close-view-tab:hover{color:var(--ink);background:#f1eae0}.add-view-tab{width:28px;height:28px;color:var(--accent);cursor:pointer;background:0 0;border:1px dashed #c9bfb2;border-radius:8px;flex:0 0 28px;padding:0;font-size:1.05rem}.user-area{gap:16px}.header-actions,.profile-switcher,.user-area{align-items:center;display:flex}.header-actions{gap:10px}.profile-switcher{gap:7px}.backend-link{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:700;text-decoration:none}.backend-link:hover{border-color:var(--accent);color:var(--accent)}.user-profile-head{border:1px solid var(--line);background:#fff;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;text-decoration:none;display:grid}.user-profile-head:hover{border-color:var(--accent);box-shadow:0 3px 10px #17233c1f}.user-profile-head:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.user-profile-avatar,.user-profile-fallback{border-radius:50%;place-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:grid}.user-profile-fallback{background:var(--accent-soft);color:var(--ink)}.user-name{color:var(--muted);font-size:.9rem}.dev-user-switcher select{background:#fff;min-height:38px;padding:0 30px 0 12px;font-weight:700}.dev-user-switcher select,.ghost-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px}.ghost-button{background:0 0;padding:9px 15px}.ghost-button:hover{border-color:var(--ink)}.hero{grid-template-columns:1fr auto;align-items:end;gap:56px;width:min(1240px,100% - 48px);margin:0 auto;padding:88px 0 96px;display:grid;position:relative}.hero:after{content:"";border:32px solid var(--accent-soft);z-index:-1;border-radius:50%;width:180px;height:180px;position:absolute;top:40px;right:170px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;margin:0 0 14px;font-size:.76rem;font-weight:700}h1,h2{letter-spacing:-.035em;font-family:DM Serif Display,serif;font-weight:400}h1{max-width:820px;margin:0;font-size:calc(clamp(3.6rem,7.6vw,7rem));line-height:.91}h1 em{color:var(--accent);font-weight:400}.intro{max-width:610px;color:var(--muted);margin:32px 0 0;font-size:1.12rem;line-height:1.7}.hero-note{background:var(--yellow);border-radius:50% 50% 10px;flex-direction:column;justify-content:flex-end;width:180px;min-height:180px;padding:25px;display:flex;transform:rotate(2deg)}.hero-note strong{font-family:DM Serif Display,serif;font-size:4rem;line-height:.85}.hero-note span{font-size:.9rem}.hero-note .note-label{text-transform:uppercase;letter-spacing:.1em;margin-bottom:auto;font-size:.7rem;font-weight:700}.directory{min-height:var(--directory-desktop-height,auto);background:var(--card);border-radius:42px 42px 0 0;padding:64px calc(max(24px,50vw - 620px)) 96px;box-shadow:0 -14px 50px #17233c0d}.directory-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.directory h2{margin:0;font-size:calc(clamp(2.5rem,5vw,4.3rem));line-height:1}.result-count{color:var(--muted);margin:0 0 8px}.directory-actions{align-items:center;gap:18px;display:flex}.add-contact-button{white-space:nowrap;margin:0}.filters{grid-template-columns:minmax(240px,1fr) repeat(3,185px) auto;gap:12px;margin:34px 0 24px;display:grid}.search-create-field{min-width:0;position:relative}.search-create-field .search-field{height:100%}.search-create-field input{padding-right:34px}.search-create-button{width:28px;height:28px;color:var(--accent);cursor:pointer;background:#fff5f1;border:1px solid #efb5a8;border-radius:50%;padding:0;font-size:1.1rem;font-weight:700;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-create-button:hover{border-color:var(--accent);background:var(--accent);color:#fff}.search-create-button:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.distance-note{color:var(--muted);margin:-12px 0 20px;font-size:.78rem}.search-field,.select-field{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;min-height:52px;display:flex}.search-field{gap:12px;padding:0 17px}.search-field svg{fill:none;width:20px;stroke:var(--muted);stroke-width:1.8px}.search-field input,.select-field select{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.search-field input::placeholder{color:#98a0ad}.select-field{padding:0 14px}.view-switch{border:1px solid var(--line);background:#f2eee6;border-radius:14px;align-items:center;padding:4px;display:flex}.view-switch button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 13px}.view-switch button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #17233c14}.table-shell{border:1px solid var(--line);border-radius:18px;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}th{color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.1em;background:#f2eee6;padding:15px 18px;font-size:.71rem}.sort-button{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0}.sort-button:hover{color:var(--ink)}.name-birthday-header,.source-author-header,.source-author-values{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.source-author-cell{min-width:108px}.source-author-values>span,td small,td strong,td>span{display:block}.source-author-values small{text-transform:uppercase;letter-spacing:.06em;margin:0 0 2px;font-size:.62rem}.source-author-values .source-badge{margin-top:0}td{vertical-align:top;border-top:1px solid #ece7df;padding:18px;font-size:.92rem}tbody tr:hover{background:#fffaf4}.contact-row{cursor:pointer}.contact-row.gender-female{background:#fff5f8}.contact-row.gender-male{background:#f3f8ff}.contact-row.gender-female:hover{background:#ffedf3}.contact-row.gender-male:hover{background:#eaf3ff}.contact-row:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}.contact-number,td small{color:var(--muted);margin-top:4px;font-size:.78rem}.contact-birthday,.sr-only,.updated-cell{white-space:nowrap}.relationship{background:var(--accent-soft);border-radius:999px;width:fit-content;padding:5px 9px;font-size:.78rem;display:inline-block}.star-rating{align-items:center;gap:5px;display:inline-flex;position:relative}.star-buttons{align-items:center;display:flex}.star-buttons button{color:#d29a16;cursor:pointer;background:0 0;border:0;width:24px;height:28px;padding:0;font-size:1.18rem;line-height:1}.star-buttons button:hover{color:#efb629;transform:scale(1.12)}.star-buttons button:disabled{cursor:wait;opacity:.55}.rating-help{display:inline-flex;position:relative}.rating-help-button{width:18px;height:18px;color:var(--muted);cursor:help;background:#fff;border:1px solid #bbb2a4;border-radius:50%;padding:0;font-size:.68rem;font-weight:700}.rating-help-popover{z-index:220;border:1px solid var(--line);width:calc(min(245px,100vw - 20px));color:var(--ink);background:#fff;border-radius:12px;padding:12px;font-size:.72rem;line-height:1.35;position:fixed;box-shadow:0 12px 30px #17233c29}.rating-help-popover strong,.rating-help-popover>span{display:block}.rating-help-popover strong{margin-bottom:7px}.rating-help-popover>span+span{margin-top:4px}.star-rating.compact .star-buttons button{width:18px;font-size:.94rem}.star-rating.compact .rating-help-button{width:16px;height:16px;font-size:.62rem}.source-badge{color:#536174;background:#edf0f3;border-radius:999px;width:fit-content;margin-top:7px;padding:4px 8px;font-size:.7rem;font-weight:700;display:inline-block}.contact-cell{min-width:190px}.contact-cell a,.contact-cell>small,.contact-cell>span{overflow-wrap:anywhere;width:fit-content;margin:0 0 7px;display:block}.contact-cell a{color:#b43e2b;text-underline-offset:3px;text-decoration-thickness:1px}.updated-cell{min-width:150px}.updated-cell time{display:block}.address-distance{color:#28734f;font-weight:700}.action-cell,.action-header{position:sticky;right:0;box-shadow:-8px 0 12px #17233c0f}.action-header{z-index:3;background:#f2eee6}.action-cell{z-index:2;text-align:right;background:#fff;width:64px}.contact-row:hover .action-cell{background:#fffaf4}.contact-row.gender-female .action-cell{background:#fff5f8}.contact-row.gender-male .action-cell{background:#f3f8ff}.contact-row.gender-female:hover .action-cell{background:#ffedf3}.contact-row.gender-male:hover .action-cell{background:#eaf3ff}.edit-button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;display:inline-grid}.edit-button:hover{border-color:var(--accent);color:var(--accent)}.edit-button:disabled{opacity:.45;cursor:not-allowed}.edit-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px}.compact-table th{padding:9px 11px}.compact-table td{vertical-align:middle;padding:7px 11px;font-size:.78rem}.compact-table .contact-cell small,.compact-table .contact-number,.compact-table .relationship+small,.compact-table td small{display:none}.compact-table .contact-birthday{margin-top:2px;font-size:.68rem;display:block}.compact-table .relationship,.compact-table .source-badge{padding:3px 6px;font-size:.67rem}.compact-table .source-author-values{gap:3px}.compact-table .contact-cell a,.compact-table .contact-cell>span{margin-bottom:2px;line-height:1.15}.compact-table .edit-button{width:30px;height:30px}.birthday-note{color:#9b5b19;font-weight:700}.state-card{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:18px;padding:40px}.state-error{color:#9b2c1d}.state-error strong{margin-bottom:12px;display:block}.state-error button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:9px 15px}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.birthdays-page{min-height:100vh;padding-bottom:80px}.birthday-directory,.birthday-intro{width:min(1120px,100% - 48px);margin-left:auto;margin-right:auto}.birthday-intro{padding:62px 0 42px}.birthday-intro h1{font-size:calc(clamp(3.2rem,7vw,6rem))}.birthday-intro>p:last-child{color:var(--muted);margin:16px 0 0;font-size:1.05rem}.birthday-month{margin-bottom:38px}.birthday-month-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 4px 12px;display:flex}.birthday-month-heading h2{margin:0;font-size:2.25rem}.birthday-month-heading>span{background:var(--yellow);border-radius:50%;place-items:center;min-width:34px;height:34px;font-weight:700;display:grid}.birthday-list{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:10px;overflow:hidden}.birthday-entry{border-top:1px solid #ece7df;grid-template-columns:54px 1fr auto 24px;align-items:center;gap:15px;min-height:76px;padding:10px 15px;text-decoration:none;display:grid}.birthday-entry:first-child{border-top:0}.birthday-entry:hover{background:#fff9f1}.birthday-entry time{background:var(--accent-soft);color:#8b3427;text-align:center;border-radius:13px;place-content:center;width:48px;height:52px;display:grid}.birthday-entry time span,.birthday-entry time strong{line-height:1;display:block}.birthday-entry time strong{font-size:1.25rem}.birthday-entry time span{text-transform:uppercase;margin-top:3px;font-size:.64rem;font-weight:700}.birthday-meta small,.birthday-person small,.birthday-person strong{display:block}.birthday-person small{color:var(--muted);margin-top:4px}.birthday-meta{align-items:center;gap:9px;display:flex}.birthday-arrow{color:var(--accent);font-size:1.2rem}.birthday-missing{opacity:.78;margin-top:56px}.birthday-entry-missing{grid-template-columns:1fr 24px}.settings-page{min-height:100vh;padding-bottom:80px}.closeness-settings,.relationship-settings,.settings-intro{width:min(1120px,100% - 48px);margin-left:auto;margin-right:auto}.settings-intro{padding:62px 0 42px}.settings-intro h1{font-size:calc(clamp(3.2rem,7vw,6rem))}.settings-intro>p:last-child{max-width:650px;color:var(--muted);margin:16px 0 0;font-size:1.05rem}.settings-summary{color:var(--muted);justify-content:space-between;gap:20px;margin-bottom:12px;font-size:.82rem;display:flex}.closeness-settings{margin-bottom:48px}.configuration-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:14px;display:flex}.configuration-heading h2{margin:0;font-size:2.25rem}.configuration-heading>p{max-width:460px;color:var(--muted);margin:0;font-size:.82rem}.closeness-level-list{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.closeness-level-list>label{min-height:62px;color:var(--muted);border-top:1px solid #ece7df;grid-template-columns:120px 80px 1fr;align-items:center;gap:14px;padding:10px 16px;font-size:.76rem;font-weight:700;display:grid}.closeness-level-list>label:first-child{border-top:0}.configuration-stars{color:#d29a16;letter-spacing:1px;font-size:1.05rem}.closeness-level-list input{border:1px solid var(--line);min-height:40px;color:var(--ink);border-radius:10px;padding:0 11px}.closeness-level-list footer{border-top:1px solid var(--line);background:#faf7f1;justify-content:flex-end;align-items:center;gap:12px;padding:12px 16px;display:flex}.closeness-level-list footer .save-type-button{min-width:175px}.saved-message{color:#287a4b;font-size:.78rem;font-weight:700}.relationship-type-list{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.relationship-type-item{border-top:1px solid #ece7df}.relationship-type-item:first-child{border-top:0}.relationship-type-row{grid-template-columns:minmax(220px,1fr) 170px 220px 108px 34px;align-items:center;gap:18px;min-height:82px;padding:13px 16px;display:grid;position:relative}.relationship-preview{border-radius:999px;width:fit-content;padding:7px 11px;font-size:.83rem;font-weight:700}.expand-type-button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:0;display:grid}.expand-type-button .relationship-preview{grid-row:1/span 2}.expand-type-button small{color:var(--muted)}.color-field,.group-field{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:auto 1fr;align-items:center;gap:5px 9px;font-size:.7rem;font-weight:700;display:grid}.color-field input{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;grid-row:1/span 2;width:42px;height:42px;padding:2px}.color-field code{color:var(--muted);text-transform:lowercase;letter-spacing:0;grid-column:2;font-size:.72rem}.group-field select{border:1px solid var(--line);min-height:40px;color:var(--ink);text-transform:none;letter-spacing:0;background:#fff;border-radius:10px;grid-column:1/-1;padding:0 10px}.save-type-button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;min-height:40px;padding:0 13px}.save-type-button:disabled{opacity:.55;cursor:wait}.delete-type-button{color:#9b2c1d;cursor:pointer;background:#fff5f2;border:1px solid #e5b5ad;border-radius:50%;width:30px;height:30px;font-size:1.2rem}.relationship-type-details{background:#faf7f1;border-top:1px solid #ece7df;padding:18px 20px 22px}.rename-type-field{max-width:440px;color:var(--muted);gap:6px;margin-bottom:18px;font-size:.74rem;font-weight:700;display:grid}.rename-type-field input{border:1px solid var(--line);min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:0 12px}.assigned-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.assigned-heading button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:.78rem}.assigned-contacts{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.assigned-contacts label{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:9px;min-height:42px;padding:8px 10px;display:flex}.assigned-contacts input{width:16px;height:16px;accent-color:var(--accent)}.assigned-contacts a,.profile-edit{text-underline-offset:3px}.connection-usage,.empty-assignment{color:var(--muted);margin:12px 0 0;font-size:.82rem}.bulk-assignment{border-top:1px solid var(--line);justify-content:flex-end;align-items:end;gap:10px;margin-top:16px;padding-top:16px;display:flex}.bulk-assignment label{color:var(--muted);gap:6px;font-size:.74rem;font-weight:700;display:grid}.bulk-assignment select{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:240px;min-height:42px;padding:0 10px}.bulk-assignment button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;min-height:42px;padding:0 14px}.bulk-assignment button:disabled{opacity:.45;cursor:not-allowed}.detail-page{min-height:100vh;padding-bottom:64px}.detail-topbar{margin-bottom:32px}.back-link,.connection-card>a{text-decoration:none}.detail-state{text-align:center;width:min(1120px,100% - 48px);color:var(--muted);margin:100px auto}.network-section,.profile-grid,.profile-hero{width:min(1120px,100% - 48px);margin-left:auto;margin-right:auto}.profile-hero{align-items:center;gap:24px;display:flex}.profile-avatar{color:#fff;background:var(--accent);border-radius:48% 48% 12px;flex:0 0 92px;place-items:center;height:92px;font:2.4rem DM Serif Display,serif;display:grid}.profile-photo-column{width:150px;color:var(--muted);text-align:center;flex:0 0 150px;justify-items:center;gap:7px;display:grid}.profile-photo-column>small{max-width:145px;font-size:.68rem;line-height:1.35}.profile-image-drop{cursor:pointer;width:112px;height:112px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.profile-image-drop img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.profile-image-drop.dragging{box-shadow:0 0 0 5px var(--yellow);transform:scale(1.04)}.profile-image-overlay{color:#fff;opacity:0;background:#17233cc7;padding:7px 3px;font:600 .62rem DM Sans,sans-serif;transition:opacity .15s;position:absolute;inset:auto 0 0}.profile-image-drop.uploading .profile-image-overlay,.profile-image-drop:focus .profile-image-overlay,.profile-image-drop:hover .profile-image-overlay{opacity:1}.profile-hero h1{margin:0 0 12px;font-size:calc(clamp(2.6rem,5vw,4.4rem));line-height:.95}.profile-tags{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.profile-tags .source-badge{margin:0}.profile-edit{color:var(--accent);font-size:.8rem;font-weight:700}.identity-badge{color:#216344;background:#e5f7ed;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:700}.profile-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px;display:grid}.info-card{border:1px solid var(--line);background:var(--card);border-radius:14px;min-height:104px;padding:16px 18px}.info-card>span:first-child{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:11px;font-size:.67rem;font-weight:700;display:block}.info-card a,.info-card small,.info-card strong{margin-top:5px;display:block}.info-card a{color:#b43e2b;overflow-wrap:anywhere}.gender-switch{gap:5px;display:flex}.gender-switch button{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:0 10px}.gender-switch button:first-child.active{color:var(--ink);background:#fff0f5;border-color:#efc4d0}.gender-switch button:last-child.active{color:var(--ink);background:#edf6ff;border-color:#bed7f5}.gender-switch button:disabled{cursor:wait;opacity:.65}.network-section{margin-top:42px}.network-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:14px;display:flex}.network-heading h2{margin:0;font-size:calc(clamp(2rem,4vw,3rem))}.network-count{background:var(--yellow);border-radius:50%;place-items:center;width:42px;height:42px;font:1.35rem DM Serif Display,serif;display:grid}.connection-groups{gap:22px;margin:18px 0 26px;display:grid}.connection-group-heading{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:0 3px 7px;display:flex}.connection-group-heading h3{text-transform:uppercase;letter-spacing:.09em;margin:0;font-size:.83rem}.connection-group-heading span{min-width:24px;height:24px;color:var(--muted);background:#ece6dc;border-radius:50%;place-items:center;font-size:.72rem;font-weight:700;display:grid}.connection-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:9px;display:grid}.connection-card{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;min-height:60px;padding:8px 10px;display:flex}.connection-card>a{min-width:0;color:inherit;align-items:center;gap:9px;display:flex}.connection-card>a>span{min-width:0}.connection-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.connection-card small,.connection-card strong{display:block}.connection-card small{color:var(--accent);margin-top:3px}.connection-card .connection-relation{color:#536174;border-radius:999px;width:fit-content;padding:3px 7px}.connection-card>button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:#f3eee7;border:0;border-radius:50%}.mini-avatar{background:var(--accent-soft);color:#8b3427;border-radius:50% 50% 12px;flex:0 0 38px;place-items:center;height:38px;font-weight:700;display:grid}.import-label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem}.empty-network{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:14px;margin:16px 0 26px;padding:22px}.connection-form{background:#efe9df;border-radius:18px;padding:22px}.form-heading h3{margin:0;font:2rem DM Serif Display,serif}.form-heading p{color:var(--muted);margin:7px 0 24px}.form-field{color:var(--muted);gap:7px;margin-top:14px;font-size:.8rem;font-weight:600;display:grid}.form-field>input,.form-field>select{border:1px solid var(--line);width:100%;min-height:50px;color:var(--ink);background:#fff;border-radius:12px;outline:0;padding:0 14px}.form-field>input:focus,.form-field>select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f2644a1f}.relationship-select-control{border:1px solid var(--line);background:color-mix(in srgb,var(--relationship-color) 48%,#fff);border-radius:12px;align-items:center;gap:9px;min-height:50px;padding:0 9px 0 13px;display:flex}.relationship-color-dot{background:var(--relationship-color);border:1px solid #17233c1f;border-radius:50%;flex:0 0 12px;width:12px;height:12px}.relationship-select-control select{width:100%;min-width:0;min-height:48px;color:var(--ink);cursor:pointer;background:0 0;border:0;outline:0}.candidate-list{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:8px;display:grid;overflow:hidden}.candidate-list>button{text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #ece7df;align-items:center;gap:12px;padding:10px 13px;display:flex}.candidate-list>button:first-child{border-top:0}.candidate-list>button:hover{background:#fff8ef}.candidate-list small,.candidate-list strong{display:block}.candidate-list small{color:var(--muted);margin-top:2px}.candidate-list p{color:var(--muted);padding:8px 14px}.selected-candidate{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:12px;display:flex}.selected-candidate button{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-left:auto}.relation-fields{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.primary-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;margin-top:22px;padding:12px 18px}.primary-button:disabled{opacity:.45;cursor:not-allowed}.form-error{color:#9b2c1d}.editor-route{min-height:100vh}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#17233c9e;place-items:center;padding:34px;display:grid;position:fixed;inset:0;overflow-y:auto}.edit-modal{background:var(--card);border-radius:24px;width:min(940px,100%);max-height:calc(100vh - 68px);overflow-y:auto;box-shadow:0 30px 90px #0c162a47}.modal-header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf9f5;justify-content:space-between;gap:24px;padding:26px 30px 22px;display:flex;position:sticky;top:0}.modal-header h2{margin:0;font-size:2.5rem;line-height:1}.modal-header p:last-child{color:var(--muted);margin:8px 0 0}.modal-close{border:1px solid var(--line);height:42px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;flex:0 0 42px;font-size:1.6rem}.edit-form{padding:12px 30px 30px}.edit-grid{grid-template-columns:repeat(6,1fr);gap:2px 14px;display:grid}.edit-grid .form-field{grid-column:span 3}.edit-grid .compact-field{grid-column:span 2}.edit-grid .wide-field{grid-column:span 4}.edit-grid .narrow-field{grid-column:span 2}.edit-grid .full-field{grid-column:1/-1}.form-field textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:12px;outline:0;padding:13px 14px}.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f2644a1f}.compact-field input:disabled{color:var(--muted);background:#f2eee7}.check-field,.source-field select{cursor:pointer}.check-field{min-height:30px;color:var(--ink);align-items:center;gap:9px;font-size:.78rem;font-weight:500;display:flex}.check-field input{width:17px;height:17px;accent-color:var(--accent);margin:0}.postal-suggestions{min-height:42px;color:var(--muted);background:#fff5df;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;font-size:.8rem;display:flex}.postal-suggestions button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #ddc98f;border-radius:999px;padding:7px 10px}.postal-suggestions button:hover{border-color:var(--accent)}.postal-suggestions small{color:var(--muted)}.modal-actions{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf9f5;justify-content:flex-end;gap:10px;margin:26px -30px -30px;padding:18px 30px;display:flex;position:sticky;bottom:-30px}.modal-actions .primary-button{margin:0}@media (width>=761px) and (width<=980px){.connection-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.hero,.topbar{width:min(100% - 30px,1240px)}.topbar{flex-wrap:wrap;gap:12px}.global-contact-search{width:min(220px,100% - 120px);margin-left:auto;margin-right:0}.global-search-results{width:calc(min(310px,100vw - 30px));left:auto;right:0}.main-nav{order:3;justify-content:center;width:100%;position:static;transform:none}.user-name{display:none}.header-actions{margin-left:auto}.hero{grid-template-columns:1fr;padding:60px 0 70px}.hero:after{top:20px;right:-70px}.hero-note{justify-self:end;width:145px;min-height:145px}.directory{min-height:var(--directory-mobile-height,auto);border-radius:28px 28px 0 0;padding-top:44px}.directory-heading{flex-direction:column;align-items:start}.directory-actions{justify-content:space-between;width:100%}.filters{grid-template-columns:1fr}.view-switch{justify-content:stretch}.view-switch button{flex:1}.table-shell{border:0;overflow:visible}table,tbody,td,tr{display:block}thead{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}tbody{gap:14px;display:grid}tbody tr{border:1px solid var(--line);background:#fff;border-radius:16px;padding:7px 16px}td{border-top:1px solid #ece7df;grid-template-columns:92px 1fr;padding:11px 0;display:grid}td:first-child{border-top:0}td>*{grid-column:2}td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;grid-area:1/1/span 4;padding-top:2px;font-size:.67rem;font-weight:700}.action-cell{width:auto;box-shadow:none;text-align:left;background:0 0;position:static}.detail-topbar{margin-bottom:44px}.profile-hero{flex-direction:column;align-items:flex-start}.profile-photo-column{flex-basis:120px;align-items:start;width:120px}.profile-avatar{flex-basis:98px;width:98px;height:98px;font-size:2.5rem}.connection-grid,.edit-grid,.profile-grid,.relation-fields{grid-template-columns:1fr}.connection-form{padding:20px}.modal-backdrop{place-items:stretch stretch;padding:0}.edit-modal{border-radius:0;min-height:100vh;max-height:none}.edit-form,.modal-actions,.modal-header{padding-left:18px;padding-right:18px}.edit-grid .compact-field,.edit-grid .form-field,.edit-grid .full-field,.edit-grid .narrow-field,.edit-grid .wide-field{grid-column:1}.modal-actions{margin-left:-18px;margin-right:-18px}.birthday-directory,.birthday-intro{width:min(100% - 30px,1120px)}.birthday-intro{padding:42px 0 30px}.birthday-entry{grid-template-columns:48px 1fr 20px;gap:11px;padding:10px}.birthday-entry time{width:44px;height:48px}.birthday-meta{flex-direction:column;grid-column:2;align-items:flex-start;gap:5px}.birthday-arrow{grid-area:1/3/span 2}.birthday-entry-missing{grid-template-columns:1fr 20px}.birthday-entry-missing .birthday-arrow{grid-area:1/2}.closeness-settings,.relationship-settings,.settings-intro{width:min(100% - 30px,1120px)}.settings-intro{padding:42px 0 30px}.settings-summary{gap:4px}.configuration-heading,.settings-summary{flex-direction:column;align-items:flex-start}.closeness-level-list>label{grid-template-columns:1fr auto}.closeness-level-list input,.expand-type-button,.save-type-button{grid-column:1/-1}.relationship-type-row{grid-template-columns:1fr 1fr;gap:13px}.delete-type-button{position:absolute;right:24px}.assigned-contacts{grid-template-columns:1fr}.bulk-assignment{flex-direction:column;align-items:stretch}.bulk-assignment select{width:100%;min-width:0}}
